7.4. 멀티 캐스트 주소의 메모리 사용량 이해
메시지가 멀티캐스트 대기열이 바인딩된 주소로 라우팅되면 메모리에 메시지 사본이 하나만 있습니다. 각 큐에는 메시지에 대한 참조 만 있습니다. 이로 인해 관련 메모리는 메시지를 참조하는 모든 큐가 전달된 경우에만 해제됩니다.
이러한 유형의 상황에서 소비자가 느린 경우 전체 주소에는 성능에 부정적인 영향을 미칠 수 있습니다.
예를 들어 다음 시나리오를 고려해 보십시오.For example, consider this scenario:
- 주소에는 멀티캐스트 라우팅 유형을 사용하는 대기열 10개가 있습니다.
- 느린 소비자로 인해 대기열 중 하나가 메시지를 전달하지 않습니다. 다른 9개의 대기열은 계속 메시지를 전달하며 비어 있습니다.
- 메시지는 계속 주소에 도달합니다. 속도가 느린 대기열은 메시지에 대한 참조를 계속 누적하여 브로커가 메모리에 메시지를 유지합니다.
- 주소의 최대 크기에 도달하면 브로커가 페이지 메시지로 시작합니다.
단일 느린 소비자로 인해 모든 대기열의 소비자는 추가 IO가 필요한 페이지 시스템의 메시지를 사용해야 합니다.
추가 리소스
- 브로커와 생산자와 소비자 간의 데이터 흐름을 제어하도록 흐름 제어를 구성하는 방법을 알아보려면 AMQ Core Protocol JMS 설명서의 흐름 제어 를 참조하십시오.