4.7. 서브스크립션 대기열 구성


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

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

4.7.1. Cryostat 서브스크립션 큐 구성

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

프로세스

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

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

    대기열은 default 요소를 포함하고 value를 true 로 설정하는 것은 기본적으로 내구성이 있으므로 큐를 만드는 데 엄격하게 필요하지는 않습니다. 그러나 명시적으로 요소를 포함 하면 나중에 필요한 경우 큐의 동작을 non-durable로 변경할 수 있습니다.

4.7.2. 공유 대상이 아닌 서브스크립션 대기열 구성

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

프로세스

  1. &lt ;broker_instance_dir&gt; /etc/broker.xml 구성 파일을 엽니다.
  2. 선택한 각 큐에 Cryostat 구성 요소를 추가합니다. 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>
    참고

    대기열은 default 요소를 포함하고 value를 true 로 설정하는 것은 기본적으로 내구성이 있으므로 큐를 만드는 데 엄격하게 필요하지는 않습니다. 그러나 명시적으로 요소를 포함 하면 나중에 필요한 경우 큐의 동작을 non-durable로 변경할 수 있습니다.

  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.