QPID AMQPAMQP의 네트워크 트래픽 QPID
네트워크 트래픽 퇴출에 관한 질문이 있습니다. 기계 A에 게시자가 있다고 가정합니다. Qpid 브로커가 시스템 B에서 실행 중입니다. 우리는 두 명의 구독자 Machine C와 Machine D (둘 다 동일한 주제를 구독 함)를 가지고 있습니다. 이제 토폴로지를 상상해보십시오
A -> B -> X -> C | D (게시자 A는 B에 연결되고 구독자 C와 D는 브로커와 중간 노드 X를 통해 연결됨) C 및 D에 대한 주제와 일치하는 A로 게시 된 메시지는 둘 모두에 의해 수신됩니다. 원하는 대상 알아두면 가장자리 b-> x는 메시지를 두 번 전달합니다 (b-> x-> c 및 b-> x-> c의 두 번째 메시지). 또는 AMQP/qpid 프레임 워크가 B에서 X로 메시지를 한 번 전송 한 다음 각 개별 구독자에게 사본을 보낼만큼 지능적입니다 (따라서 b-> x에서 네트워크 트래픽이 적음). 내가 생각하기에 X는 아무 것도 모르기 때문에 각 구독자에 대해 개인 구독 큐가있을 경우 (또는 공유 대기열 및 소비 대신 메시지를 탐색/복사하는 경우에도) 메시지는 b-> x를 통해 두 번 이동합니다.
이 질문은 QPID와 관련이 없습니다. 다른 Broker 기반 (RabbitMQ) 및 브로커없는 메시징 프레임 워크 (Zero MQ, LBM/UMS)에 대한 솔루션을 알고 싶습니다. 나는 제로 MQ가 더 똑똑한 솔루션을 제공하려고 시도했다. http://www.250bpm.com/pubsub#toc4,하지만 중급 홉은 여러 복사본을 보낼지 여부를 알기 때문에 복잡해 보였다. (나는 네트워킹 전문가가 아니기 때문에 무언가를 obvoius라고 할 수있다.
나는 연합에 대해 알고있다. 기본적으로 경로를 만들고 메시지를 구독 할 수있다. 내 질문은 X가 임의의 qpid 메시지 또는 브로커에 대해 전혀 알지 못하는 네트워크 토폴로지의 임의의 홉이라면 무엇인가에 관한 것입니다. 이것은 단지 중간 홉일뿐입니다. 그러면 X는 같은 메시지를 두 번 봅니다 (한 번 C로 전달하고 D로 한 번 전달). – user179156