4.8. 주소 및 큐를 자동으로 생성 및 삭제
브로커를 구성하여 자동으로 주소와 큐를 생성하고 더 이상 사용하지 않는 후 삭제할 수 있습니다. 이렇게 하면 클라이언트가 연결할 수 있기 전에 각 주소를 미리 구성하지 않아도 됩니다.
4.8.1. 자동 큐 생성 및 삭제를 위한 구성 옵션
다음 표에는 큐 및 주소를 자동으로 생성 및 삭제하도록 address-setting
요소를 구성할 때 사용할 수 있는 구성 요소가 나열되어 있습니다.
address-setting 을…로 원하는 경우 | 이 구성 추가… |
---|---|
클라이언트가 메시지를 전송하거나 존재하지 않는 주소로 매핑된 큐에서 메시지를 사용하려고 할 때 주소를 생성합니다. |
|
클라이언트가 큐로 메시지를 보내거나 큐에서 메시지를 사용하려고 할 때 큐를 생성합니다. |
|
더 이상 큐가 없는 경우 자동으로 생성된 주소를 삭제합니다. |
|
큐에 소비자 및 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 프로토콜 관리자는 두 주소에 멀티캐스트
의미가 필요하다는 것을 이해하게 됩니다. 따라서 프로토콜 관리자는 먼저 두 주소에 대해 멀티캐스트
가 활성화되어 있는지 확인합니다. 그렇지 않은 경우 동적으로 생성하려고 합니다. 프로토콜 관리자가 성공하면 클라이언트에서 요청한 각 서브스크립션에 대해 특수 서브스크립션 대기열을 생성합니다.
각 프로토콜은 약간 다르게 작동합니다. 아래 표는 다양한 유형의 큐에
대한 구독 프레임이 요청될 때 일반적으로 발생하는 내용을 설명합니다.
큐가 이 유형의 경우… | 프로토콜 관리자의 일반적인 작업은…입니다. |
---|---|
Cryostat 서브스크립션 큐 |
적절한 주소를 찾고 특수 이름을 사용하면 프로토콜 관리자가 클라이언트의 연결을 끊고 나중에 다시 연결할 때 필요한 클라이언트 서브스크립션 대기열을 신속하게 식별할 수 있습니다. 클라이언트가 구독을 취소하면 큐가 삭제됩니다. |
임시 서브스크립션 대기열 |
적절한 주소를 찾고 클라이언트의 연결을 끊으면 큐가 삭제됩니다. |
점대점 대기열 |
적절한 주소를 찾고 큐가 자동으로 생성되면 소비자와 메시지가 없으면 자동으로 삭제됩니다. |