[GCP-12] cloud Pub / Sub

2022. 1. 22. 09:17카테고리 없음

0. 지난 글

[GCP-1] 구글 클라우드 기본 개념

https://ejtag.tistory.com/23

[GCP-2] 구글 클라우드 실습 준비

https://ejtag.tistory.com/24

[GCP-3] 구글 클라우드 IAM

https://ejtag.tistory.com/25

[GCP-4] Compute Engine

https://ejtag.tistory.com/26

[GCP-5] VPC

https://ejtag.tistory.com/27

[GCP-6] Cloud Load Balancing

https://ejtag.tistory.com/29

[GCP-7] Google Cloud Storage

https://ejtag.tistory.com/30

[GCP-8] Cloud SQL

https://ejtag.tistory.com/31

[GCP-9] BigQuery

https://ejtag.tistory.com/33

[GCP-10] Cloud Composer

https://ejtag.tistory.com/35

[GCP-11] source Repositories

https://ejtag.tistory.com/36

 

13. Cloud Pub / Sub

13.1 Cloud Pub/Sub란?

cloud Pub/Sub은 GCP의 대표적인 메시징 서비스로 카프카나 래빗MQ와 같은 오픈소스 메시징 서비스와 동일한 서비스이다.

이 서비스는 Ads, Search, gamil 같은 유명한 구글 제품에 활용된 핵심 인프라이다.

비동기 데이터 전달 시 중간에 Pub/Sub을 통해 전달함으로써 안정적인 메시지 전달을 제공한다.

'Toppic(게시)'와 메시지를 해당 주체로부터 받는 'subscription(구독)'으로 구성되고 "1:다", "다:1", "다:다"의 구성을 가진다. 데이터는 구글 내부의 비공개 네트워크를 통해 데이터 센터에 지능저긍로 자동 분산된다.

 

13.2 메시징 서비스

메시지(데이터)들을 큐(queue)에 넣고 차례로 전달해 주는 서비스이다.

장점

- 서버장애가 있더라도 그사이에 요청이 온것은 메시지 큐에 쌓여 있어 장애 복구 이후 큐에 쌓인 요청 처리 가능하다.

- 부하 분산 처리에 유리한데, 여러 대의 서버가 하나의 큐를 바라보도록 하면 처리할 데이터가 많아져도 서버는 자신의 처리량에 맞는 요청만 가져와서 처리할 수 있다.

 

13.3 Pub/Sub 구성

- topic(주제) : 게시자가 메시지를 전송하는 이름이 지정된 리소스

- subscription(구독) : 특정 주체의 메시지 수신 의향을 나타내는 이름이 지정된 항목

- message(메시지) : 서비스를 통해 이동하는 데이터

- publisher(게시자) : 특정 주제에 대한 메시지를 만들어 메시지 서비스를 전송하는 사람

- subscriber(구독자) : 지정한 구독에 대한 메시지를 받는 사람

 

13.4 Pub/Sub 메시지 흐름

13.5 Pull(가져오기) / Push(내보내기) 구독 방법

13.5.1 pull(가져오기) 구독

subscriber(구독자)가 message(데이터)를 요청할 때 전달받는 구조의 구독 방식이다.

13.5.2 push(내보내기) 구독 방법

message(데이터)가 오면 바로 subscriber(구독자)에게 전달하는 방식이다.

 

13.6 메시지 서비스의 성능 판단

13.6.1 확장성

확장 가능한 서비스는 지연 시간이나 가용성의 현저한 저하 없이 점점 증가하는 로드를 처리할 수 있어야 한다.

13.6.2 가용성

시스템의 가용성은 다양한 유혀으이 문제를 얼마나 잘 처리해서 최종 사용자가 오류 해결을 알아차리지 못하게 하는가를 기준으로 측정한다.

13.6.3 지연시간

시스템 성능을 시간 기준으로 측정한 것으로 대부분의 서비스는 지연 시간을 최소화하려고한다.

 

[실습 13.1 - Topic 및 subscription 생성 및 메시지 게시]

메뉴-pub/sub-주제 만들기
구독만들기 - 구독 만들기
구독을 만든다.
맨 아래 메시지 게시를 클릭한다.

이후 게시된 메시지를 확인하기 위해 cloud shell 을 킨다.

게시된 메시지 확인이 가능하다.

 

[실습 13.2 - python으로 간단한 publish(게시) 및 subscribe(구독)하기]

참고 : https://dksshddl.tistory.com/entry/tweeter-api-google-cloud-pubsub-%EC%82%AC%EC%9A%A9%ED%95%B4%EB%B3%B4%EA%B8%B0

 

twitter api + google cloud pub/sub 사용해보기

twitter api로 원하는 키워드 검색하고 pub/sub에 적용해 보자 1. google cloud pub/sub 주제 만들기 2. twitter streaming data를 google cloud pub/sub에 publish 하기 3. google cloud function을 이용하여 biq..

dksshddl.tistory.com

 

(추후 진행 예정)