일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- jpa
- 수학
- 생활코딩
- 삼성 SW 역량테스트
- 백준 1753번
- 우선순위 큐
- ICPC
- BFS
- Bit
- JavaScript
- 시뮬레이션
- Air Table
- 다이나믹 프로그래밍
- REACT
- Cloud Pub/Sub
- 삼성SW역량테스트
- LCS
- 이분탐색
- 다익스트라
- 접미사 배열
- dp
- 그리디
- 컴퓨터 구조
- r
- 종만북
- 고속 푸리에 변환
- 데이터 분석
- Cloud Run
- CI/CD
- 펜윅 트리
- Today
- Total
코딩스토리
What is Cloud Pub/Sub? - ep.2 본문
# 해당 포스팅은 Google Cloud Tech Youtube의 Cloud Pub/Sub 관련 영상을 기반으로 작성하였습니다.
What is Cloud Pub/Sub? -ep2
앞선 포스팅의 내용은 왜 Cloud Pub/Sub 모델이 등장했는지에 대한 설명이었다.
(이전 포스팅 링크 : https://kimtaehyun98.tistory.com/145)
이런 개념이 어떻게 실제로 사용될까?
이젠 개발자 마인드로 넘어가서 생각해보자.
Cloud Pub/Sub은 이름 그대로 Publisher와 Subscriber model을 지원하다.
Publisher, 즉 제공자는 메시지를 만들어서 보낸다.
그리고 메시지는 모든 Subscriber, 즉 구독자가 승인할 때까지 저장된다.
위에서 생성된 Topic의 결과를 수신하기 위해 구독자들은 Subscription을 생성한다.
(쉽게 말하면 해당 Topic을 구독한다는 것이다.)
Subscription을 함으로써 Cloud Pub/Sub이 메시지를 구독자에게 Push 하거나 구독자 스스로 메시지를 Pull 받아올 수 있다.
(구독자가 메시지를 확인하면 메시지는 지워진다고 한다.)
Communication
Publisher와 Subscriber가 소통하는 방식은 아래와 같다.
즉, Publisher와 Subscriber의 개수로 구분할 수 있다.
Cloud Pub/Sub 내부는 아래와 같이 생겼다.
이 그림을 보면 좀 명확해진다.
Publisher와 Subscriber을 연결할 때는 각각의 Topic과 Subscription이 붙는 것을 확인할 수 있다.
그럼 이걸 이전의 상품 주문 예제로 바꿔보자.
왼쪽 그림을 Pub/Sub 모델로 표현하면 오른쪽과 같다는 것이다.
실제 서비스에는 아래와 같이 쓰이게 된다.
Publisher는 Google API.com에 https 요청을 할 수 있는 모든 애플리케이션이 될 수 있다.
우리는 대부분 Web Service나 Device가 될 것이다.
Subscribers는 Pull을 하는지 Push에 하는지에 따라 조금씩 다르다.
먼저 Pull을 하는 구독자는 Https 요청을 할 수 있는 능력만 있으면 된다.
하지만 Push는 Post 요청을 수락할 수 있어야 한다.
이유는 위에서 말했듯이 Push는 Publisher가 Subscriber에게 해주는 것이기 때문에 작업의 주체가 Publisher이므로 Post가 가능해야 한다.
좀 더 세부적으로 살펴보면 이런 느낌이다.
앞 단에서 Data가 수집되고, Cloud Pub/Sub으로 모인다.
Data의 수집은 프론트 엔드, 데이터 베이스 , 서버 등 다양한 예가 될 수 있다.
이렇게 생성된 데이터를 어떤 방식을 통해 가공할 건지, 즉 어떤 로직을 사용할 건지 결정하고 작업을 실행한다.
결과는 해당 Topic을 구독하고 있는 구독자에게 메시지가 갈 것이다. (또는 구독자가 가져가거나)
이제 전체적인 Cloud Pub/Sub을 알게 되었다.
흐름을 요약해보자면
가공하고 싶은 데이터를 모아 Cloud Pub/Sub에 수집한다.
수집된 데이터는 Topic의 로직에 따라 다양한 작업을 수행한다.
작업의 결과는 해당 Topic을 구독하고 있는 구독자가 확인할 수 있다.
어느 정도 감은 잡힌 것 같다.
하지만 어떻게 만들어야 될지도 잘 모르겠고, 선뜻 시작하기 두려울 수 있다.
다음 포스팅에서는 어떻게 시작해야 하는지에 대해 좀 더 얘기해보자.
https://www.youtube.com/watch?v=MjEam95VLiI
'Google Cloud Platform' 카테고리의 다른 글
[에러] unauthorized: You don't have the needed permissions to perform this operation, and you may have invalid credentials. (0) | 2022.08.13 |
---|---|
GCR을 사용하여 private하게 Cloud Run에 Docker Image 배포하기 (0) | 2022.07.28 |
Cloud Run에 Pub/Sub 사용하기 듀토리얼 (1) | 2022.07.11 |
Cloud Pub/Sub in Action - ep.3 (0) | 2022.07.05 |
Cloud Pub/Sub Overview - ep.1 (0) | 2022.07.04 |