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를 수행할 메시지를 생성하고 메시지의 토픽을 정의합니다. 브로커에서 실행되는 메시지 플로우는 입력 노드에서 메시지를 검색하고 토픽에 대한 관심을 등록한 모든 subscriber에 분배하기 위해 해당 메시지를 Publication 노드에 전달합니다.
입력 노드는 다음 내장 노드 중 하나입니다.
subscriber는 다음 항목 중 하나를 지정하여 publication 요청을 등록합니다.
Publish/Subscribe 시스템 작동 방법에 대한 설명은 Quick Tour를 참조하십시오.