10.2.3. AMQP 메시지 차단
이 장의 앞부분에서 설명한 대로 코어 프로토콜은 생산자 창 크기 흐름 제어 시스템을 사용합니다. 이 시스템에서는 크레딧이 바이트를 나타내고 생산자에 할당됩니다. 생산자가 메시지를 전송하려는 경우 메시지를 보내기 전에 메시지의 크기를 수용할 수 있는 충분한 크레딧이 있을 때까지 기다려야 합니다.
AMQP 흐름 제어 크레딧은 바이트를 나타내지 않지만 메시지 크기에 관계없이 생산자가 보낼 수 있는 메시지 수를 나타냅니다. 따라서 AMQP 클라이언트에 대한 일부 시나리오에서는 주소의 max-size-bytes
를 상당히 초과할 수 있습니다.
이 상황을 관리하려면 address-setting
에 max-size-bytes-reject-threshold
요소를 추가하여 주소 크기에 상한을 바이트 단위로 지정합니다. 이 상한에 도달하면 브로커는 AMQP 메시지를 거부합니다. 기본적으로 max-size-bytes-reject-threshold
는 -1
또는 제한 없음으로 설정됩니다.
블록 AMQP 메시지에 브로커 구성
설정된 최대 바이트 수보다 큰 경우 AMQP 메시지를 차단하도록 브로커를 구성하려면 BROKER_INSTANCE_DIR/etc/broker.xml
에 새 addres-setting
구성 요소를 추가합니다.
절차
아래 구성 예제에서는
my.amqp.blocking.queue
주소로 라우팅되는 AMQP 메시지에 최대300000
바이트의 최대 크기를 적용합니다.<configuration> <core> ... <address-settings> ... <address-setting match="my.amqp.blocking.queue"> 1 <max-size-bytes-reject-threshold>300000</max-size-bytes-reject-threshold> 2 </address-setting> </address-settings> </core> </configuration>
추가 리소스
- AMQP 생산자의 크레딧을 구성하는 방법에 대한 자세한 내용은 3장. 네트워크 연결: 프로토콜 을 참조하십시오.