4.7. 서브스크립션 큐 구성


대부분의 경우 클라이언트가 주소를 처음 구독하도록 요청할 때 프로토콜 관리자가 자동으로 서브스크립션 대기열을 생성하므로 서브스크립션 대기열을 수동으로 생성할 필요가 없습니다. 자세한 내용은 4.8.3절. “프로토콜 관리자 및 주소”를 참조하십시오. 성형 서브스크립션의 경우 생성된 큐 이름은 일반적으로 클라이언트 ID와 주소의 연결입니다.

다음 섹션에서는 필요한 경우 서브스크립션 대기열을 수동으로 생성하는 방법을 보여줍니다.

4.7.1. 안정된 서브스크립션 큐 구성

큐가 안정된 서브스크립션으로 구성되면 브로커는 비활성 구독자에 대한 메시지를 저장하고 다시 연결할 때 구독자에게 전달합니다. 따라서 클라이언트는 구독한 후 큐로 전달되는 각 메시지를 수신해야 합니다.

절차

  1. &lt ;broker_instance_dir> /etc/broker.xml 구성 파일을 엽니다.
  2. 선택한 큐에 위치 구성 요소를 추가합니다. true 값을 설정합니다.

    <configuration ...>
      <core ...>
        ...
        <address name="my.durable.address">
          <multicast>
            <queue name="q1">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>
    참고

    미용성 요소를 포함하여 기본적으로 대기열은 장래하지 않기 때문에 값을 true 로 설정하는 것은 지속성 큐를 만드는 데 엄격하게 필요하지 않습니다. 그러나 명시적으로 요소를 포함하면 나중에 큐의 동작을 필요한 경우 취소할 수 없습니다.However, explicitly including the element enables you to later change the behavior of the queue to non-durable, if necessary.

4.7.2. 공유되지 않은 IRQ 서브스크립션 큐 구성

둘 이상의 소비자가 한 번에 큐에 연결하지 못하도록 브로커를 구성할 수 있습니다. 따라서 이러한 방식으로 구성된 큐에 대한 서브스크립션은 "비공유"로 간주됩니다.

절차

  1. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  2. 선택한 각 큐에 위치 구성 요소를 추가합니다. true 값을 설정합니다.

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.shared.durable.address">
          <multicast>
            <queue name="orders1">
              <durable>true</durable>
            </queue>
            <queue name="orders2">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>
    참고

    미용성 요소를 포함하여 기본적으로 대기열은 장래하지 않기 때문에 값을 true 로 설정하는 것은 지속성 큐를 만드는 데 엄격하게 필요하지 않습니다. 그러나 명시적으로 요소를 포함하면 나중에 큐의 동작을 필요한 경우 취소할 수 없습니다.However, explicitly including the element enables you to later change the behavior of the queue to non-durable, if necessary.

  3. 선택한 각 큐에 max-consumers 특성을 추가합니다. 1 의 값을 설정합니다.

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.shared.durable.address">
          <multicast>
            <queue name="orders1" max-consumers="1">
              <durable>true</durable>
            </queue>
            <queue name="orders2" max-consumers="1">
              <durable>true</durable>
            </queue>
          </multicast>
        </address>
      </core>
    </configuration>

4.7.3. 실행 불가능한 서브스크립션 큐 구성

일반적으로 적용할 수 없는 서브스크립션은 관련 프로토콜 관리자가 관리하므로 임시 대기열을 생성하고 삭제합니다.

그러나 불가능한 서브스크립션 큐와 같이 작동하는 큐를 수동으로 생성하려면 대기열에서 purge-on-no-consumers 특성을 사용할 수 있습니다. purge-on-no-consumerstrue 로 설정되면 대기열은 소비자가 연결될 때까지 메시지 수신을 시작하지 않습니다. 또한 마지막 소비자가 대기열과 연결이 끊어지면 대기열이 제거됩니다 (즉, 해당 메시지는 제거됨). 새 소비자가 큐에 연결될 때까지 큐는 추가 메시지를 수신하지 않습니다.

절차

  1. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  2. 선택한 각 큐에 purge-on-no-consumers 특성을 추가합니다. true 값을 설정합니다.

    <configuration ...>
      <core ...>
        ...
        <address name="my.non.durable.address">
            <multicast>
                <queue name="orders1" purge-on-no-consumers="true"/>
            </multicast>
        </address>
      </core>
    </configuration>
Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.