4.8. 주소 및 대기열 생성 및 삭제


주소와 큐를 자동으로 생성하고 더 이상 사용하지 않는 후 삭제할 브로커를 구성할 수 있습니다. 이렇게 하면 클라이언트가 연결하기 전에 각 주소를 미리 구성할 필요가 없습니다.

4.8.1. 자동 대기열 생성 및 삭제를 위한 구성 옵션

다음 표에는 큐 및 주소를 자동으로 생성하고 삭제하도록 address-setting 요소를 구성할 때 사용할 수 있는 구성 요소가 나열되어 있습니다.

address-setting to…​이 구성을 추가합니다.…​

클라이언트가 메시지를 보내거나 존재하지 않는 주소에 매핑된 큐의 메시지를 사용하려고 할 때 주소를 만듭니다.

auto-create-addresses

클라이언트가 큐에서 메시지를 보내거나 큐의 메시지를 사용하려고 하면 큐를 생성합니다.

auto-create-queues

큐가 더 이상 없는 경우 자동으로 생성된 주소를 삭제합니다.

auto-delete-addresses

큐에 0개의 소비자와 0개의 메시지가 있으면 자동으로 생성된 큐를 삭제합니다.

auto-delete-queues

클라이언트가 지정하지 않는 경우 특정 라우팅 유형을 사용합니다.

default-address-routing-type

4.8.2. 주소 및 큐 자동 생성 및 삭제 구성

다음 절차에서는 주소 및 큐의 자동 생성 및 삭제를 구성하는 방법을 보여줍니다.

절차

  1. &lt ;broker_instance_dir> /etc/broker.xml 구성 파일을 엽니다.
  2. 자동 생성 및 삭제를 위한 address-setting 을 구성합니다. 다음 예제에서는 이전 표에 언급된 모든 구성 요소를 사용합니다.

    <configuration ...>
     <core ...>
      ...
      <address-settings>
        <address-setting match="activemq.#">
          <auto-create-addresses>true</auto-create-addresses>
          <auto-delete-addresses>true</auto-delete-addresses>
          <auto-create-queues>true</auto-create-queues>
          <auto-delete-queues>true</auto-delete-queues>
          <default-address-routing-type>ANYCAST</default-address-routing-type>
        </address-setting>
      </address-settings>
      ...
     </core>
    </configuration>
    address-setting
    address-setting 요소의 구성은 와일드카드 주소 activemq.# 과 일치하는 주소 또는 큐에 적용됩니다.
    auto-create-addresses
    클라이언트가 아직 존재하지 않는 주소에 연결하도록 요청하면 브로커는 주소를 생성합니다.
    auto-delete-addresses
    자동으로 생성된 주소는 더 이상 연결된 큐가 없는 경우 삭제됩니다.
    auto-create-queues
    클라이언트가 아직 존재하지 않는 큐에 연결하도록 요청하면 브로커는 큐를 생성합니다.
    auto-delete-queues
    자동 생성된 큐는 더 이상 소비자 또는 메시지가 없으면 삭제됩니다.
    default-address-routing-type
    클라이언트가 연결할 때 라우팅 유형을 지정하지 않으면 브로커는 메시지를 주소에 전달할 때 ANYCAST 를 사용합니다. 기본값은 MULTICAST 입니다.

추가 리소스

4.8.3. 프로토콜 관리자 및 주소

프로토콜 관리자 라는 구성 요소는 AMQ Broker 주소 모델에 사용되는 개념에 프로토콜별 개념을 매핑합니다. 특정 상황에서는 프로토콜 관리자가 브로커에 대기열을 자동으로 생성할 수 있습니다.

예를 들어 클라이언트가 /house/room1/lights/house/room2/lights 주소를 사용하여 MQTT 서브스크립션 패킷을 보내는 경우 MQTT 프로토콜 관리자는 두 주소에 멀티 캐스트 의미가 필요하다는 것을 이해합니다. 따라서 프로토콜 관리자는 먼저 멀티 캐스트 가 두 주소에 대해 활성화되어 있는지 확인합니다. 그렇지 않은 경우 동적으로 생성을 시도합니다. 프로토콜 관리자가 성공하면 클라이언트가 요청한 각 서브스크립션에 대해 특수 서브스크립션 대기열을 생성합니다.

각 프로토콜은 약간 다르게 작동합니다. 아래 표는 다양한 유형의 큐에 대한 구독 프레임이 요청될 때 일반적으로 수행되는 작업을 설명합니다.

큐가 이 유형인 경우...프로토콜 관리자의 일반적인 작업은…​입니다.

세분화된 서브스크립션 큐

적절한 주소를 찾아서 멀티 캐스트 의미 체계가 활성화되어 있는지 확인합니다. 그런 다음 클라이언트 ID와 주소가 라우팅 유형으로 이름 및 멀티 캐스트를 사용하여 특수 서브스크립션 큐를 생성합니다.

특수 이름을 사용하면 프로토콜 관리자가 필요한 클라이언트 서브스크립션 큐를 신속하게 식별할 수 있습니다. 클라이언트의 연결을 끊고 나중에 다시 연결해야 합니다.

클라이언트가 큐를 구독 취소하면 큐가 삭제됩니다.

임시 서브스크립션 큐

적절한 주소를 찾아서 멀티 캐스트 의미 체계가 활성화되어 있는지 확인합니다. 그런 다음 이 주소 아래에 멀티 캐스트 라우팅 유형을 사용하여 임의의( 읽기 UUID) 이름으로 큐를 생성합니다.

클라이언트의 연결이 끊어지면 큐가 삭제됩니다.

점대점 대기열

적절한 주소를 찾고 anycast 라우팅 유형이 활성화되었는지 확인합니다. 이 경우 주소와 동일한 이름으로 큐를 찾는 것을 목표로 합니다. 존재하지 않는 경우 사용 가능한 첫 번째 대기열을 찾습니다. 존재하지 않는 경우 대기열을 자동으로 생성합니다(자동 생성이 활성화됨). 큐 소비자는 이 큐에 바인딩됩니다.

대기열이 자동으로 생성되면 소비자가 없고 메시지가 없으면 자동으로 삭제됩니다.

Red Hat logoGithubRedditYoutubeTwitter

자세한 정보

평가판, 구매 및 판매

커뮤니티

Red Hat 문서 정보

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

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

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

Red Hat 소개

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

© 2024 Red Hat, Inc.