10.2.2. 메시지 차단


두 개 이상의 생산자가 동일한 주소와 연관될 수 있으므로 브로커가 실제로 사용 가능한 것보다 더 많은 크레딧을 할당할 수 있습니다. 그러나 브로커가 사용 가능한 것보다 더 많은 크레딧을 전송하지 못하도록하는 모든 주소에 최대 크기를 설정할 수 있습니다.

기본 구성에서는 각 주소에 대해 전역 최대 크기가 100Mb입니다. 주소가 가득 차면 브로커는 큐로 라우팅하지 않고 페이징 저널에 추가 메시지를 작성합니다. 페이징 대신 이전 메시지가 사용될 때까지 클라이언트측에서 더 많은 메시지 전송을 차단할 수 있습니다. 이러한 방식으로 생산자 흐름 제어를 차단하면 브로커가 한 번에 처리할 수 있는 것보다 더 많은 메시지를 전송하므로 브로커가 메모리 부족이 발생하지 않습니다.

구성에서 생산자 흐름 제어 차단은 address-setting 별로 관리됩니다. 구성은 주소에 등록된 모든 큐에 적용됩니다. 즉, 해당 주소에 바인딩된 모든 큐의 총 메모리는 max-size-bytes 용으로 지정된 값으로 제한됩니다.

참고

차단은 프로토콜에 따라 다릅니다. AMQ Broker에서 AMQP, OpenWire 및 Core Protocol은 생산자 흐름 제어를 지원합니다. AMQP는 흐름 제어를 다르게 처리합니다. 자세한 내용은 AMQP를 사용하여 흐름 제어 차단 을 참조하십시오.

주소의 최대 크기 구성

설정된 최대 바이트 수보다 큰 경우 메시지를 차단하도록 브로커를 구성하려면 새 addres-setting 구성 요소를 BROKER_INSTANCE_DIR/etc/broker.xml 에 추가합니다.

절차

  • 아래 구성 예에서 address-settingBLOCK 생산자로 설정되고 최대 300000 바이트에 도달한 후 메시지 전송을 통해 메시지가 전송됩니다.
<configuration>
  <core>
    ...
    <address-settings>
       <address-setting match="my.blocking.queue"> 1
          <max-size-bytes>300000</max-size-bytes>  2
          <address-full-policy>BLOCK</address-full-policy> 3
       </address-setting>
    </address-settings>
  </core>
</configuration>
1
위의 구성은 my.blocking.queue 주소에서 참조하는 모든 큐에 적용됩니다.
2
최대 크기를 300000 바이트로 설정합니다. 브로커는 메시지가 max-size-bytes 를 초과하는 경우 주소로 전송되는 생산자를 차단합니다. 이 요소는 "K", "Mb" 및 "GB"와 같은 바이트 표기법을 지원합니다.
3
생산자 흐름 제어를 차단할 수 있도록 address-full-policyBLOCK 으로 설정합니다.
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

Red Hat을 사용하는 고객은 신뢰할 수 있는 콘텐츠가 포함된 제품과 서비스를 통해 혁신하고 목표를 달성할 수 있습니다.

보다 포괄적 수용을 위한 오픈 소스 용어 교체

Red Hat은 코드, 문서, 웹 속성에서 문제가 있는 언어를 교체하기 위해 최선을 다하고 있습니다. 자세한 내용은 다음을 참조하세요.Red Hat 블로그.

Red Hat 소개

Red Hat은 기업이 핵심 데이터 센터에서 네트워크 에지에 이르기까지 플랫폼과 환경 전반에서 더 쉽게 작업할 수 있도록 강화된 솔루션을 제공합니다.

© 2024 Red Hat, Inc.