3.2. 네트워크 연결에서 AMQP 사용
브로커는 AMQP 1.0 사양을 지원합니다. AMQP 링크는 소스와 대상(즉, 클라이언트와 브로커) 간의 메시지를 위한 단방향 프로토콜입니다.
프로세스
-
<
;broker_instance_dir> /etc/broker.xml
구성 파일을 엽니다. -
다음 예와 같이 AMQP의 값이 AMQP인
protocols
매개변수를 포함하여AMQP
클라이언트를 수신하도록어셉
터를 추가하거나 구성합니다.
<acceptors> <acceptor name="amqp-acceptor">tcp://localhost:5672?protocols=AMQP</acceptor> ... </acceptors>
이전 예에서 브로커는 기본 AMQP 포트인 포트 5672에서 AMQP 1.0 클라이언트를 허용합니다.
AMQP 링크에는 두 개의 끝점, 즉 발신자와 수신자가 있습니다. 발신자가 메시지를 전송할 때 브로커는 브로커의 대상으로 전달할 수 있도록 내부 형식으로 변환합니다. 수신자는 브로커의 대상에 연결하고 메시지를 제공하기 전에 AMQP로 다시 변환합니다.
AMQP 링크가 동적인 경우 임시 큐가 생성되고 원격 소스 또는 원격 대상 주소가 임시 큐의 이름으로 설정됩니다. 링크가 동적이 아닌 경우 큐에 원격 대상 또는 소스의 주소가 사용됩니다. 원격 대상 또는 소스가 없으면 예외가 전송됩니다.
링크 대상은 또한 기본 세션을 롤백하거나 커밋하는 데 사용되는 코디네이터일 수도 있습니다.
AMQP는 세션당 여러 트랜잭션, amqp:multi-txns-per-ssn
을 사용할 수 있지만 현재 버전의 AMQ Broker는 세션당 단일 트랜잭션만 지원합니다.
AMQP 내의 분산 트랜잭션(XA)의 세부 사항은 사양 1.0 버전에서는 제공되지 않습니다. 환경에 분산 트랜잭션 지원이 필요한 경우 AMQ Core Protocol JMS를 사용하는 것이 좋습니다.
프로토콜 및 해당 기능에 대한 자세한 내용은 AMQP 1.0 사양을 참조하십시오.
3.2.1. AMQP 링크를 주제로 사용
JMS와 달리 AMQP 프로토콜은 주제를 포함하지 않습니다. 그러나 대기열의 소비자가 아닌 AMQP 소비자 또는 수신자를 서브스크립션으로 처리할 수 있습니다. 기본적으로 jms.topic
접두사가 있는 주소에 연결하는 수신 링크는 서브스크립션으로 처리되며 서브스크립션 큐가 생성됩니다. 서브스크립션 큐는 Terminus Durability 구성 방법에 따라 다음 표에서 캡처된 대로 지속성 또는 휘발성으로 구성됩니다.
멀티 캐스트 전용 큐에 대해 이러한 종류의 서브스크립션을 생성하려면 다음을 수행합니다. | Terminus Durability를 이…로 설정합니다. |
---|---|
Cryostat |
|
취소할 수 없음 |
|
Cryostat 큐의 이름은 컨테이너 ID와 링크 이름으로 구성됩니다(예: my-container-id:my-link-name
).
AMQ Broker는 또한 qpid-jms 클라이언트를 지원하며, 주소에 사용되는 접두사와 관계없이 주제 사용을 준수합니다.
3.2.2. AMQP 보안 구성
브로커는 AMQP SASL 인증을 지원합니다. 브로커에서 SASL 기반 인증을 구성하는 방법에 대한 자세한 내용은 보안 을 참조하십시오.