Publish/subscribe는 정보 제공자(publisher)가 브로커를 사용하여 해당 정보의 소비자(subscriber)로부터 분리되는 응용프로그램 메시징 양식입니다.
publish/subscribe 시스템에서, publisher는 제공하는 정보의 사용자(publication)를 알 필요가 없으며 subscriber는 subscription의 결과로 수신되는 정보의 제공자를 알 필요가 없습니다.
메시지를 송신하는 응용프로그램이 송신할 메시지의 목적지를 알아야만 하는 응용프로그램 메시징 양식인 포인트 투 포인트 양식과 대조됩니다.
메시지 브로커는 메시지가 올바른 목적지에 도착하고 각 목적지에 필요한 형식으로 변환되는지 확인합니다.
다음 그림은 가장 간단한 publish/subscribe 응용프로그램을 보여줍니다. 하나의 publisher, 하나의 브로커, 하나의 subscriber로 구성되어 있습니다. publication이 publisher에서 브로커로 송신되고 subscription이 subscriber에서 브로커로 송신된 다음 publication이 브로커에서 subscriber로 송신됩니다.
그러나, 일반적인 publish/subscribe 시스템에는 둘 이상의 publisher와 둘 이상의 subscriber가 있으며 둘 이상의 브로커가 있는 경우도 있습니다. 응용프로그램은 publisher 및 subscriber 둘다일 수 있습니다.
publisher는 메시지의 토픽을 publish 및 정의하고자 하는 메시지를 생성합니다. 브로커에서 실행되는 메시지 플로우는 입력 노드에서 메시지를 검색하고 해당 메시지를 Publication 노드에 전달하여 토픽에서 관심을 등록해야 하는 모든 subscriber로 분배되도록 합니다.
입력 노드는 다음 내장 노드 중 하나입니다.
subscriber는 다음 항목 중 하나를 지정하여 publication 요청을 등록합니다.
publish/subscribe 시스템 작동 방법에 대한 설명은 Quick Tour를 참조하십시오.