-
[GCP] Pub/Sub 개념 정리GCP 2021. 8. 21. 00:14728x90
공식 문서 : https://cloud.google.com/pubsub/docs/overview
GCP 콘솔 설명 내용 : https://cloud.google.com/pubsub
내용 요약
- 지연시간을 100밀리초 단위로 하는 비동기식 통신 서비스가 가능함
- 데이터를 수집하고 배포하는 스트리밍 분석 및 데이터 통합 파이프라인에 사용
- Publisher는 처리와 상관 없이 Pub/Sub 서비스에 이벤트를 보내어 Subscriber와 비동기적으로 통신함
- 저렴한 비용과 낮은 가용성의 Pub/Sub Lite 서비스도 제공하고 있음
- Pub/Sub의 용도는 최종 사용자와의 통신이 아닌 서비스 간 통신
- 사용사례
- 여러 클라이언트 이벤트 동시 수집 후 스트림 처리 도구(Dataflow)를 사용하여 DB(BigQueyr, Bigtable 등)에 전달
- 실시간 이벤트 배포: 처리된 이벤트를 여러 앱에서 실시간으로 처리 가능
- 데이터베이스 간 데이터 복제: DB의 변경 이벤트 배포하는데 사용
- 병렬 처리 및 워크플로우: Cloud Functions(AWS Lambda)를 연결하여 다수의 작업을 여러 작업자 간 효율적 배포 가능
- 메시징 기술
- 파티션 기반이 아닌 메시지별 동시 로드 방식
- 개별 메시지를 subscriber에게 임대(빌려준) 뒤 메시지가 성공적으로 처리되었는지 추적함
- 이는 subscriber 앱의 동시 로드를 극대화하고 publisher/subscriber의 독립성 보장
- 핵심 개념
- Topic: publisher가 메시지를 전송하는 리소스(Topic 이름)
- Subscription: Topic으로부터 subscriber 앱까지 전달되는 메시지 스트림의 전달 과정
- Message: publisher가 Topic으로 보내고, subscriber에게 최종적으로 전달되는 데이터 집합
- Message attribute: publisher가 메시지에 대해 정의할 수 있는 key-value값
- Publisher: 메시지(데이터 집합)를 생성하고 Topic에게 전달하는 애플리케이션
- Subscriber: Topic을 구독하여 메시지를 가져가는 애플리케이션
- Acknowledgement: subscriber가 메시지를 성공적으로 가져간 후 Pub/Sub 서비스에게 보내는 신호
- Push and pull: 두 가지의 메시지 전달 방식.
- subscriber의 최종 목적지로 Pub/Sub이 push한 메시를 전달받음
- subscriber가 Pub/Sub에서 pull하여 메시지 수신
'GCP' 카테고리의 다른 글
[GCP] GOOGLE_APPLICATION_CREDENTIALS path 설정하기(Feat. Dataflow, BigQuery) (3) 2021.10.19