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 링크가 동적이면 임시 대기열이 생성되고 원격 소스 또는 원격 대상 주소가 임시 대기열의 이름으로 설정됩니다. 링크가 동적이지 않은 경우 큐에 원격 대상 또는 소스의 주소가 사용됩니다. 원격 대상 또는 소스가 없으면 예외가 전송됩니다.
링크 대상은 기본 세션을 트랜잭션으로 처리하여 롤백하거나 커밋하는 데 사용되는 Coordinator일 수도 있습니다.
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를 이로 설정합니다. |
---|---|
용어집 |
|
양도할 수 없음 |
|
영구성 대기열의 이름은 컨테이너 ID와 링크 이름(예: my-container-id:my-link-name
)으로 구성됩니다.
AMQ Broker는 qpid-jms 클라이언트도 지원하며 해당 주소에 사용된 접두사와 관계없이 주제 사용을 준수합니다.
3.2.2. AMQP 보안 구성
브로커는 AMQP SASL 인증을 지원합니다. 브로커에서 SASL 기반 인증을 구성하는 방법에 대한 자세한 내용은 보안을 참조하십시오. ???