6장. 메시지 저장


이 장에서는 지속성이 AMQ Broker와 함께 작동하는 방식과 이를 구성하는 방법을 설명합니다.

브로커에는 두 가지 지속성 옵션이 있습니다.

  1. 저널 기반

    기본값입니다. 파일 시스템의 저널에 메시지를 쓰는 고성능 옵션입니다.

  2. JDBC 기반

    브로커의 JDBC 저장소를 사용하여 메시지를 선택한 데이터베이스에 유지합니다.

또는 제로 지속성 을 위해 브로커를 구성할 수도 있습니다.

브로커는 메시지 저널 외부에서 큰 메시지를 유지하기 위해 다른 솔루션을 사용합니다. 자세 한 내용은 대용량 메시지 작업 을 참조하십시오. 메모리 부족 상태에서 디스크에 메시지를 페이징하도록 브로커를 구성할 수도 있습니다. 자세 한 내용은 메시지 삭제 를 참조하십시오.

참고

6.1. 저널 기반 지속성 정보

브로커의 저널은 디스크에 파일 만 첨부 하는 세트입니다. 각 파일은 고정된 크기로 미리 만들어지며 처음에는 패딩으로 채워집니다. 메시징 작업이 브로커에서 수행되면 레코드가 저널 끝에 추가됩니다. 레코드를 추가하면 브로커가 디스크 헤드 이동 및 임의의 액세스 작업을 최소화하여 일반적으로 디스크에서 가장 느린 작업을 수행할 수 있습니다. 하나의 저널 파일이 가득 차면 브로커는 새 파일을 사용합니다.

저널 파일 크기는 구성할 수 있으며 각 파일에서 사용하는 디스크 실린더 수를 최소화합니다. 그러나 최신 디스크 토폴로지는 복잡하며 브로커는 파일이 매핑되는 실린더를 제어할 수 없습니다. 따라서 저널 파일 크기 조정은 정확한 과학이 아닙니다.

기타 지속성 관련 기능은 다음과 같습니다.

  • 특정 저널 파일이 여전히 사용 중인지 확인하는 정교한 파일 가비지 수집 알고리즘입니다. 그렇지 않은 경우 파일을 회수하고 다시 사용할 수 있습니다.
  • 저널에서 제거된 공간을 제거하고 데이터를 압축하는 압축 알고리즘입니다. 그러면 디스크에서 파일을 더 적게 사용하는 저널이 생성됩니다.
  • 로컬 트랜잭션 지원.
  • AMQ JMS 클라이언트를 사용할 때 XA 트랜잭션 지원

대부분의 저널은 Java로 작성됩니다. 그러나 실제 파일 시스템과의 상호 작용은 추상화되므로 서로 다른 플러그형 구현을 사용할 수 있습니다. AMQ Broker는 다음 두 가지 구현과 함께 제공됩니다.

  • Java NIO.

    표준 Java NIO를 사용하여 파일 시스템과 인터페이스합니다. 이는 매우 우수한 성능을 제공하며 Java 6 이상 런타임이 있는 모든 플랫폼에서 실행됩니다.

  • Linux 비동기 IO

    씬 네이티브 래퍼를 사용하여 Linux 비동기 IO 라이브러리(AIO)와 통신합니다. AIO에서 브로커는 데이터가 디스크에 만들어진 후 다시 호출되므로 명시적으로 동기화되지 않습니다. 기본적으로 브로커는 AIO 저널을 사용하려고 하며 AIO를 사용할 수 없는 경우 NIO를 사용하도록 대체합니다.

    AIO를 사용하면 일반적으로 Java NIO를 사용하는 것보다 성능이 향상됩니다. libaio를 설치하는 방법에 대한 지침은 AIO 저널 사용을 참조하십시오.

참고

6.1.1. AIO 사용

Java NIO 저널은 성능이 매우 뛰어나지 만 Linux 커널 2.6 이상을 사용하여 브로커를 실행하는 경우 AIO 저널을 사용하여 지속성 성능을 향상시키는 것이 좋습니다. AIO 저널은 다른 운영 체제 또는 이전 버전의 Linux 커널과 함께 사용할 수 없습니다.

AIO 저널을 사용하려면 libaio 가 아직 설치되지 않은 경우 설치해야 합니다.

절차

  • 아래의 예와 같이 yum 명령을 사용하여 libaio 를 설치합니다.
yum install libaio
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.