7장. 메시지 페이징
AMQ Broker는 서버가 제한된 메모리로 실행되는 동안 수백만 개의 메시지를 포함하는 대규모 큐를 투명하게 지원합니다.
이러한 상황에서는 한 번에 메모리에 모든 대기열을 저장할 수 없으므로 AMQ Broker는 필요에 따라 메모리에 메시지를 투명하게 페이징하거나 메모리 풋프린트가 적은 대규모 대기열을 사용할 수 있습니다.
페이징은 주소에 따라 개별적으로 수행됩니다. 주소의 모든 메시지 크기가 구성된 최대 크기를 초과하면 AMQ Broker는 디스크에 페이징 메시지를 시작합니다. 주소에 대한 자세한 내용은 주소 및 대기열 구성을 참조하십시오.
기본적으로 AMQ Broker는 페이지 메시지를 표시하지 않습니다. 이를 활성화하려면 페이징을 명시적으로 구성해야 합니다.
AMQ Broker에서 페이징 을 사용하는 방법을 보여주는 작업 예에서는 INSTALL_DIR/examples/standard/ 에 있는 페이징 예제를 참조하십시오.
7.1. 페이지 파일 정보 링크 복사링크가 클립보드에 복사되었습니다!
메시지는 파일 시스템의 주소별로 저장됩니다. 각 주소에는 메시지가 여러 파일(페이지 파일)에 저장되는 개별 폴더가 있습니다. 각 파일에는 최대 구성된 크기(page-size-bytes)의 메시지가 포함됩니다. 시스템은 필요에 따라 파일에서 탐색되며 모든 메시지가 해당 시점까지 승인되는 즉시 페이지 파일을 제거합니다.
브라우저는 page-cursor 시스템을 통해 읽습니다.
선택기가 있는 소비자도 페이지 파일을 탐색하고 기준과 일치하지 않는 메시지를 무시합니다.
큐가 있고 매우 제한적인 선택기로 큐를 필터링하는 소비자는 큐의 메시지를 사용할 때까지 페이징에서 더 많은 데이터를 읽을 수 없는 상황에 도달할 수 있습니다.
예: 한 소비자에서는 선택기를 'color="red"'로 만들지만 파란색을 소비할 때까지는 하나의 색상만 빨간색으로 사용할 수 없습니다. 이는 큐를 손상시키는 동안 전체 대기열을 "검색"하는 동안, 그리고 메시지를 찾는 동안 "디페이지" 메세지를 "검색하는 것과는 다릅니다.