안녕하세요,
베스핀글로벌 GCP Support팀입니다.
이번 아티클에서는 주제로 "Pub/Sub 메시지 흐름 방식"을 다루고자 합니다.
Pub/Sub 메시지 흐름 방식
Pub/Sub 메시지 데이터가 전송되고 처리되는 데이터 영역의 포워더(서버)에 의해 이루어지며 Pub/Sub 메시지 흐름 방식은 다음과 같습니다.
- 게시자가 메시지를 전송합니다.
- 게시자가 메시지를 생성하여 특정 주제에 게시합니다. - Pub/Sub는 메시지를 스토리지에 기록합니다.
- 메시지가 게시 포워더에 의해 스토리지에 저장됩니다. - Pub/Sub는 메시지 수신 확인을 게시자에게 전송하고 연결된 모든 구독에 대한 메시지 전송을 보장합니다.
- 메시지 수신 확인을 게시자에게 보내고, 연결된 모든 구독자에게 메시지가 전달되도록 합니다. - 메시지를 스토리지에 기록함과 동시에 Pub/Sub는 이를 구독자에게 전달합니다.
- 메시지가 저장됨과 동시에 구독 포워더를 통해 구독자에게 전달됩니다. - 구독자가 메시지 처리 확인을 Pub/Sub에 전송합니다.
- 구독자가 메시지를 수신하고 이를 처리한 후 확인 메시지를 Pub/Sub 시스템에 보냅니다. - 각 구독에 대해 하나 이상의 구독자가 메시지를 확인하면 Pub/Sub는 메시지를 스토리지에서 삭제합니다.
- 모든 구독자가 메시지를 확인하면, 해당 메시지는 스토리지에서 삭제됩니다.
위 아키텍쳐와 같이 게시자는 여러 포워더에 동시에 게시할 수 있으며 구독자는 여러 구독 포워더에 연결하여 메시지를 수신할 수 있습니다.
위 흐름 방식에서 사용되는 용어에 대한 설명은 아래와 같습니다.
- Publisher(게시자) : 전달할 데이터(메시지)를 생성하고 특정 주제에 게시
- Subscriber(구독자) : 특정 주제를 구독하여 메시지를 수신
- Topic(주제) : 메시지의 논리적 채널로, 게시자와 구독자가 메시지를 교환하기 위해 사용하는 주제
- Publishing Forwarder(게시 포워더) : 게시자가 메시지를 전달하는 대상이며, 메시지 수신 확인을 게시자에게 전송
- Subscribing Forwarder(구독 포워더) : 주제에 대한 게시 메시지 원본이 있는 게시 포워더로부터 메시지를 요청하여 구독자에게 메시지를 전달 및 전송 확인
- publish message source(게시 메시지 원본) : 특정 주제에 대한 게시된 메시지와 각 구독자가 해당 메시지를 수신하고 확인한 상태를 종합적으로 관리하는 데이터 집합
참조링크
[1] Pub/Sub 아키텍처
https://cloud.google.com/pubsub/architecture
관련 문의사항이 있으시면 Support Portal에 문의해 주시기 바랍니다.
감사합니다.