게시-구독(Publish/Subscribe) 모델을 따르는 비동기 메시징 서비스

대표적으로 Google Cloud Platform에서 제공하는 Google Cloud Pub/Sub

핵심 개념

Pub/Sub 시스템은 메시지를 보내는 서비스와 받는 서비스를 분리하여 시스템의 느슨한 결합(Loose Coupling)과 확장성을 높임

요소 역할 설명
게시자 (Publisher) 메시지를 생성하고 전송 특정 주제(Topic)에 메시지를 게시(Publish)하는 애플리케이션 또는 서비스입니다. 구독자의 존재 여부를 알 필요가 없습니다.
토픽 (Topic) 메시지가 전송되는 채널 게시자가 메시지를 보내는 이름이 지정된 리소스입니다. 메시지가 쌓이는 **중앙 대기열(Queue)**과 같은 역할을 합니다.
구독 (Subscription) 메시지를 수신할 의향 특정 토픽에 연결되어 메시지 스트림을 수신자에게 전달하는 이름이 지정된 리소스입니다. 하나의 토픽에 여러 개의 구독이 있을 수 있습니다.
구독자 (Subscriber) 메시지를 수신하고 처리 구독을 통해 토픽의 메시지를 가져와 처리하는 애플리케이션 또는 서비스입니다.

작업 흐름

  1. 게시자가 특정 토픽에 메시지(이벤트 데이터)를 게시
  2. 토픽은 이 메시지를 자신에게 연결된 모든 구독으로 전달
  3. 구독자는 이 구독에서 메시지를 가져가 처리
  4. 구독자가 메시지 처리를 완료하면 Pub/Sub 서비스에 확인(ACK)을 보내고, Pub/Sub은 해당 메시지를 구독 대기열에서 삭제