4.8. 주소 및 대기열 생성 및 삭제
주소와 큐를 자동으로 생성하고 더 이상 사용하지 않는 후 삭제할 브로커를 구성할 수 있습니다. 이렇게 하면 클라이언트가 연결하기 전에 각 주소를 미리 구성할 필요가 없습니다.
4.8.1. 자동 대기열 생성 및 삭제를 위한 구성 옵션
다음 표에는 큐 및 주소를 자동으로 생성하고 삭제하도록 address-setting
요소를 구성할 때 사용할 수 있는 구성 요소가 나열되어 있습니다.
address-setting to… | 이 구성을 추가합니다.… |
---|---|
클라이언트가 메시지를 보내거나 존재하지 않는 주소에 매핑된 큐의 메시지를 사용하려고 할 때 주소를 만듭니다. |
|
클라이언트가 큐에서 메시지를 보내거나 큐의 메시지를 사용하려고 하면 큐를 생성합니다. |
|
큐가 더 이상 없는 경우 자동으로 생성된 주소를 삭제합니다. |
|
큐에 0개의 소비자와 0개의 메시지가 있으면 자동으로 생성된 큐를 삭제합니다. |
|
클라이언트가 지정하지 않는 경우 특정 라우팅 유형을 사용합니다. |
|
4.8.2. 주소 및 큐 자동 생성 및 삭제 구성
다음 절차에서는 주소 및 큐의 자동 생성 및 삭제를 구성하는 방법을 보여줍니다.
절차
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. 자동 생성 및 삭제를 위한
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.2절. “주소 집합에 주소 설정 적용” 을 참조하십시오.
- 라우팅 유형, 4.1절. “주소, 큐 및 라우팅 유형” 에서 참조하십시오.
4.8.3. 프로토콜 관리자 및 주소
프로토콜 관리자 라는 구성 요소는 AMQ Broker 주소 모델에 사용되는 개념에 프로토콜별 개념을 매핑합니다. 특정 상황에서는 프로토콜 관리자가 브로커에 대기열을 자동으로 생성할 수 있습니다.
예를 들어 클라이언트가 /house/room1/lights
및 /house/room2/lights
주소를 사용하여 MQTT 서브스크립션 패킷을 보내는 경우 MQTT 프로토콜 관리자는 두 주소에 멀티 캐스트
의미가 필요하다는 것을 이해합니다. 따라서 프로토콜 관리자는 먼저 멀티 캐스트
가 두 주소에 대해 활성화되어 있는지 확인합니다. 그렇지 않은 경우 동적으로 생성을 시도합니다. 프로토콜 관리자가 성공하면 클라이언트가 요청한 각 서브스크립션에 대해 특수 서브스크립션 대기열을 생성합니다.
각 프로토콜은 약간 다르게 작동합니다. 아래 표는 다양한 유형의 큐에
대한 구독 프레임이 요청될 때 일반적으로 수행되는 작업을 설명합니다.
큐가 이 유형인 경우... | 프로토콜 관리자의 일반적인 작업은…입니다. |
---|---|
세분화된 서브스크립션 큐 |
적절한 주소를 찾아서 특수 이름을 사용하면 프로토콜 관리자가 필요한 클라이언트 서브스크립션 큐를 신속하게 식별할 수 있습니다. 클라이언트의 연결을 끊고 나중에 다시 연결해야 합니다. 클라이언트가 큐를 구독 취소하면 큐가 삭제됩니다. |
임시 서브스크립션 큐 |
적절한 주소를 찾아서 클라이언트의 연결이 끊어지면 큐가 삭제됩니다. |
점대점 대기열 |
적절한 주소를 찾고 대기열이 자동으로 생성되면 소비자가 없고 메시지가 없으면 자동으로 삭제됩니다. |