클라이언트에서 송/수신되는 “페이로드” 메시지와 Message Queue에서 자체적으로 사용하는 제어 메시지(브로커 확인 등)는 동일한 클라이언트 브로커 연결을 생략하기 때문에 과도한 페이로드 트래픽 수준이 제어 메시지 전달을 방해할 수 있습니다. 이 문제를 줄이려면 표 16–5에 나열된 연결 팩토리 속성을 사용하여 두 가지 메시지 유형의 상대적 흐름을 관리할 수 있습니다. 이 속성들은 다음 네 가지 범주로 분류됩니다.
확인 시간 초과는 예외 발생 전 브로커 확인을 기다리는 최대 시간(imqAckTimeout)을 지정합니다.
연결 흐름 측정은 페이로드 메시지 전송을 지정된 크기의 일괄 처리(imqConnectionFlowCount)로 제한하여 누적된 제어 메시지를 주기적으로 전달할 수 있게 합니다.
연결 흐름 제어는 사용될 때까지 기다리고 있는 연결에 대해 보류 중일 수 있는 페이로드 메시지의 수(imqConnectionFlowLimit)를 제한합니다. 제한에 도달하면 사용 대기 중인 메시지 수가 제한보다 적을 때까지 연결에 대한 페이로드 메시지 전달이 일시 중단됩니다. 이 기능의 사용은 부울 플래그(imqConnectionFlowLimitEnabled)를 통해 제어됩니다.
사용자 흐름 제어는 사용될 때까지 기다리고 있는 단일 사용자에 대해 보류 중일 수 있는 페이로드 메시지의 수(imqConsumerFlowLimit)를 제한합니다. 이 제한은 consumerFlowLimit와 같은 특정 대기열 대상의 등록 정보로 지정할 수도 있습니다. 제한에 도달하면 사용 대기 중인 메시지 수를 나타내는 imqConsumerFlowLimit의 비율이 imqConsumerFlowThreshold 속성에서 지정한 제한보다 낮을 때까지 사용자에 대한 페이로드 메시지의 전달이 일시 중단됩니다. 따라서 여러 사용자가 동일한 연결에 집중되지 않도록 함으로써 사용자 간 로드 균형 유지를 향상시킬 수 있습니다.
이러한 흐름 제어 기술 중 하나를 사용하려면 신뢰성과 처리량을 적절히 조정해야 합니다. 자세한 내용은 클라이언트 런타임 메시지 흐름 조정을 참조하십시오.