라벨이 Amazon SNS/SQS인 게시물 표시

Publish/Subscribe (Pub/Sub) 패턴

Publish/Subscribe (Pub/Sub) 패턴은 메시징 패턴 중 하나로, 메시지를 보내는 출판자(publisher)와 메시지를 받는 구독자(subscriber)가 직접적인 연결 없이 메시지를 교환할 수 있는 방식입니다. 이 패턴은 분산 시스템, 이벤트 주도 아키텍처, 메시지 큐 시스템 등에서 널리 사용됩니다. 기본 개념 Publisher : 메시지를 발행하는 주체로, 특정 토픽에 대한 정보를 보냅니다. 발행자는 메시지를 받을 구독자가 누구인지, 또는 메시지가 어떻게 전달되는지에 대해서는 알지 못합니다. Subscriber : 메시지를 구독하는 주체로, 관심 있는 토픽을 구독하고 해당 토픽에 대한 메시지가 발행될 때마다 그 메시지를 받습니다. Message : 특정 데이터 또는 정보를 담고 있는 패킷으로, 특정 토픽에 대한 정보를 포함할 수 있습니다. Topic : 메시지를 분류하기 위한 범주 또는 채널입니다. 구독자는 하나 이상의 토픽을 구독할 수 있으며, 발행자는 하나의 토픽에 대해 메시지를 발행할 수 있습니다. Broker or Message Queue : 발행자와 구독자 사이의 중개자 역할을 합니다. 메시지의 라우팅, 버퍼링, 전달 등을 담당합니다. 구독자와 발행자 사이를 연결하고, 구독자가 오프라인일 때는 메시지를 저장해 둘 수도 있습니다. 장점 탈중앙화 : 구독자와 발행자 간에는 직접적인 연결이 없어, 각자의 처리량과 성능에 영향을 주지 않습니다. 확장성 : 새로운 발행자나 구독자를 시스템에 추가하는 것이 비교적 쉽습니다. 유연성 : 구독자는 필요한 메시지만 선택적으로 받을 수 있으며, 발행자는 구독자의 존재를 신경 쓰지 않고 메시지를 발행할 수 있습니다. 비동기 처리 : 구독자는 메시지를 자신의 처리 속도에 맞추어 처리할 수 있으며, 메시지는 중간에 버퍼링 될 수 있습니다. 단점 메시지 보장 : 일부 Pub/Sub 시스템에서는 메시지가 항상 전달되리라는 것을 100% 보장하지 않습니다 (At-least-once, At-most-once, E...