본문 바로가기
스터디/Cloud & k8s

[GCP] Pub/sub

by zoodi 2021. 3. 30.
728x90

✨Google Cloud Platform의 Data Processing과 관련한 Product

  • Data collection : Pub/sub, Transfer service, Transfer appliance
  • Data transform : Dataflow, Dataproc, Dataprep
  • Data storage : igQuery, bigtable, GCS
  • Data analysis : bigQuery
  • Data ochestration : Composer 

🧀 GCP의 Pub/Sub 란

Pub/Sub는 클라우드 기반의 대용량 메시지 큐이다. 흔히 사용하는 JMS나 Kafka의 클라우드 버전 (별도의 설치나 운영이 필요 없음). 이벤트를 처리하는 서비스에서 이벤트를 생성하는 서비스를 분리하는 비동기 메시징 서비스이다.

Pub/Sub를 메시징 기준 미들웨어 또는 스트리밍 분석 파이프 라인의 이벤트 수집 및 전송으로 사용할 수 있고, 규모에 맞는 고가용성 및 일관된 성능으로 내구성 있는 메시지 스토리지 및 실시간 메시지 전송을 제공한다.

즉, 애플리케이션 간의 안전하고 가용성 높은 통신이 가능한 마이크로서비스를 위한 서비스라고 생각하면 된다.

 

동작 방식

게시자-구독자 관계

게시자(Publisher)가 애플리케이션 메시지를 만들어 주제(Topic)로 전달한다. 구독자(Subscriber) 애플리케이션은 주제에 대한 구독(Pub)을 만들어 해당 주제로부터 메시지를 수신한다. 통신은 일대다, 다대일, 다대다 형태를 취한다.

Pub/Sub 메시지 흐름

  1. 게시자 애플리케이션이 Pub/Sub 서비스에서 주제를 생성하고 메시지를 주제로 전송합니다. 메시지에는 페이로드와 페이로드 콘텐츠를 설명하는 추가 속성이 포함됩니다.
  2. 이 서비스는 게시된 메시지가 구독을 대신하여 보관되도록 합니다. 게시된 메시지는 구독자가 해당 구독에서 보낸 메시지를 소비할 때까지 구독에 보관됩니다.
  3. Pub/Sub가 메시지를 주제에서 개별 구독으로 전달합니다.
  4. 구독자는 구독자의 선택된 엔드포인트로 Pub/Sub가 내보내거나 구독자가 서비스에서 가져온 메시지를 수신합니다.
  5. 구독자는 수신된 각 메시지에 대해 Pub/Sub 서비스로 승인을 보냅니다.
  6. 이 서비스는 구독의 메시지 큐에서 확인된 메시지를 삭제합니다.

아키텍처

Cloud Pub/sub은 글로벌 서비스로 Client는 Server 또는 데이터의 물리적 위치를 모르며 전 세계 어디에서나 구독을 전 세계 모든 곳으로 보낼 수 있다. Pub/Sub 은 아래 두 가지 주요 영역으로 구분 할 수 있다.

Pub/Sub 통합

데이터 영역

게시자가 메시지를 전송하고 이 메시지가 더 이상 서비스에 필요 없게 되는 순간, 게시자와 구독자 간의 데이터 이동을 처리하는 영역. 즉, 메시지의 라이프사이클 처리.

 

데이터 영역 내의 서버를 포워더라고 한다. 이 중 게시자와 연결된 포워더를 게시 포워더, 구독자와 연결된 포워더를 구독 포워더라고 한다.

 

제어 영역

게시자와 구독자를 데이터 영역의 포워더에 할당하는 작업, 즉 포워더에게 클라이언트를 배포하는 작업을 한다.

제어 영역에 있는 서버를 라우터라고 부르는데, 클라이언트가 Cloud Pub/Sub와 연결되면 라우터는 두 지점 간의 연결에 대한 최단 네트워크 거리를 기준으로 클라이언트를 연결할 데이터 센터를 결정한다.

사용 사례

  • 네트워크 클러스터 간의 워크로드 균형 조정
  • 비동기 워크플로 구현
  • 이벤트 알림 배포
  • 여러 시스템에 로깅
  • 다양한 프로세스 또는 기기에서 데이터 스트리밍

 


🍦참고자료

박스님 블로그 : box0830.tistory.com/273

조대협의 블로그 : bcho.tistory.com/1120

 

구글 클라우드의 대용량 분산 큐 서비스인 Pub/Sub 소개 #1

구글 클라우드의 대용량 메세지 큐 Pub/Sub 소개 조대협 (http://bcho.tistory.com) 구글 클라우드의 Pub/Sub 은 클라우드 기반의 대용량 메세지 큐이다. 흔히들 사용하는 RabbitMQ, JMS나 Kafka의 클라우드 버전.

bcho.tistory.com

GCP 공식문서 : cloud.google.com/pubsub/docs/overview?hl=ko

 

Pub/Sub란 무엇인가요?  |  Cloud Pub/Sub 문서  |  Google Cloud

Pub/Sub는 이벤트를 처리하는 서비스에서 이벤트를 생성하는 서비스를 분리하는 비동기 메시징 서비스입니다. Pub/Sub를 메시징 기준 미들웨어 또는 스트리밍 분석 파이프 라인의 이벤트 수집 및

cloud.google.com

 

728x90

'스터디 > Cloud & k8s' 카테고리의 다른 글

[GCP] Dataproc  (0) 2021.03.30
[GCP] Dataflow  (0) 2021.03.30
[GCP] Transfer appliance  (0) 2021.03.30
[GCP] Transfer Service  (0) 2021.03.30
[GCP] Bigtable 과 BigQuery  (0) 2021.03.23

댓글