2.2. 메시지 지속성
AMQ Broker는 브로커가 실패하거나 예기치 않게 종료되면 메시지가 손실되지 않도록 메시지 데이터를 유지합니다. AMQ Broker는 저널 기반 지속성 및 데이터베이스 지속성이라는 두 가지 옵션을 제공합니다.
저널 기반 지속성
기본 방법인 이 옵션은 파일 시스템에 저장된 메시지 저널 파일에 메시지 데이터를 씁니다. 처음에는 이러한 저널 파일 각각이 고정된 크기로 자동으로 생성되고 빈 데이터로 채워집니다. 클라이언트가 다양한 브로커 작업을 수행할 때 레코드가 저널에 추가됩니다. 저널 파일 중 하나가 가득 차면 브로커는 다음 저널 파일로 이동합니다.
저널 기반 지속성은 로컬 및 XA 트랜잭션을 모두 포함하여 트랜잭션 작업을 지원합니다.
저널 기반 지속성에는 파일 시스템에 대한 IO 인터페이스가 필요합니다. AMQ Broker는 다음을 지원합니다.
- Linux 비동기 IO(AIO)
- AIO는 일반적으로 최상의 성능을 제공합니다. Red Hat AMQ 7 지원 구성에서 네트워크 파일 시스템이 지원되는 대로 나열되어 있는지 확인합니다.
- Java NIO
- Java NIO는 우수한 성능을 제공하며 Java 6 이상 런타임을 사용하여 모든 플랫폼에서 실행할 수 있습니다.
데이터베이스 지속성
이 옵션은 JDBC(Java Database Connectivity)를 사용하여 데이터베이스에 메시지 및 바인딩 데이터를 저장합니다. 이 옵션은 이미 사용자 환경에 안정적이고 높은 수행 데이터베이스 플랫폼이 있거나 데이터베이스를 사용하는 경우 회사 정책에서 요구하는 경우에 적합합니다.
브로커 JDBC 지속성 저장소는 표준 JDBC 드라이버를 사용하여 데이터베이스 테이블에 메시지 및 바인딩 데이터를 저장하는 JDBC 연결을 생성합니다. 데이터베이스 테이블의 데이터는 저널 기반 지속성과 동일한 인코딩을 사용하여 인코딩됩니다. 즉, SQL을 사용하여 직접 액세스하는 경우 데이터베이스에 저장된 메시지는 사람이 읽을 수 없습니다.
데이터베이스 지속성을 사용하려면 지원되는 데이터베이스 플랫폼을 사용해야 합니다. 현재 지원되는 데이터베이스 플랫폼을 보려면 Red Hat AMQ 7 지원 구성을 참조하십시오.