EMD Blog

GCP Pub/Sub 본문

Public Cloud/GCP

GCP Pub/Sub

EmaDam 2022. 9. 3. 10:09

Pub/Sub 내용 간단하게 정리

Pub/Sub은 게시/구독 서비스로, 메시지 전송자가 메시지 수신자와 분리되는 비동기 메시징 서비스이다.

주요 개념

Pub/Sub을 사용하기 전에 아래와 같은 개념을 알고 있어야한다.

메시지

  • 서비스를 통해 이동하는 데이터

주제

  • 메시지 피드를 나타내는, 이름이 지정된 항목

구독

  • 특정 주제의 메시지 수신 의향을 나타내는, 이름이 지정된 항목

게시자

  • 제작자라고도 하며, 특정 주제에 대한 메시지를 만들어 메시징 서비스로 전송(게시)

구독자

  • 소비자라고도 하며, 지정한 구독에 대해 메시지를 수신

흐름도

Pub/Sub과 Pub/Sub 라이트 비교

저렴한 비용으로 제공하는 Pub/Sub 라이트가 존재한다.

가격 측정 표 - Pricing  |  Cloud Pub/Sub  |  Google Cloud

Untitled

IAM

Pub/Sub 권한과 역할은 아래 문서를 참고.

Access control with IAM  |  Cloud Pub/Sub Documentation  |  Google Cloud

메세지 실패여부 확인

메세지 Push에 실패 했을 경우 아래의 방법으로 실패여부를 확인할 수 있다,

모니터링 → 측정항목 탐색기로 이동해 Resource로 Cloud Pub/Sub Subscription을 선택한다.

Metric으로 num_undelivered_messages, oldest_unacked_message_age를 선택해 확인하면 된다.

기본 사용법

먼저 주제를 생성하고 구독을 만든다.

gcloud pubsub topics create <TOPIC_NAME>

gcloud pubsub subscriptions create <SUB_NAME> \\
--topic=<TOPIC_NAME> \\
--topic-project=vntg-gw-dev-324106

주제 생성 CLI - gcloud pubsub topics create  |  Google Cloud CLI Documentation

구독 생성 CLI - gcloud pubsub subscriptions create  |  Google Cloud CLI Documentation

그 다음 메세지를 게시하고 메세지를 수신한다.

gcloud pubsub topics publish <TOPIC_NAME> --message="hello"

gcloud pubsub subscriptions pull <SUB_NAME> --auto-ack
┌───────┬──────────────────┬──────────────┬────────────┬──────────────────┐
│  DATA │    MESSAGE_ID    │ ORDERING_KEY │ ATTRIBUTES │ DELIVERY_ATTEMPT │
├───────┼──────────────────┼──────────────┼────────────┼──────────────────┤
│ hello │ 3738243449361021 │              │            │                  │
└───────┴──────────────────┴──────────────┴────────────┴──────────────────┘