✨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 서비스에서 주제를 생성하고 메시지를 주제로 전송합니다. 메시지에는 페이로드와 페이로드 콘텐츠를 설명하는 추가 속성이 포함됩니다.
- 이 서비스는 게시된 메시지가 구독을 대신하여 보관되도록 합니다. 게시된 메시지는 구독자가 해당 구독에서 보낸 메시지를 소비할 때까지 구독에 보관됩니다.
- Pub/Sub가 메시지를 주제에서 개별 구독으로 전달합니다.
- 구독자는 구독자의 선택된 엔드포인트로 Pub/Sub가 내보내거나 구독자가 서비스에서 가져온 메시지를 수신합니다.
- 구독자는 수신된 각 메시지에 대해 Pub/Sub 서비스로 승인을 보냅니다.
- 이 서비스는 구독의 메시지 큐에서 확인된 메시지를 삭제합니다.
아키텍처
Cloud Pub/sub은 글로벌 서비스로 Client는 Server 또는 데이터의 물리적 위치를 모르며 전 세계 어디에서나 구독을 전 세계 모든 곳으로 보낼 수 있다. Pub/Sub 은 아래 두 가지 주요 영역으로 구분 할 수 있다.
데이터 영역
게시자가 메시지를 전송하고 이 메시지가 더 이상 서비스에 필요 없게 되는 순간, 게시자와 구독자 간의 데이터 이동을 처리하는 영역. 즉, 메시지의 라이프사이클 처리.
데이터 영역 내의 서버를 포워더라고 한다. 이 중 게시자와 연결된 포워더를 게시 포워더, 구독자와 연결된 포워더를 구독 포워더라고 한다.
제어 영역
게시자와 구독자를 데이터 영역의 포워더에 할당하는 작업, 즉 포워더에게 클라이언트를 배포하는 작업을 한다.
제어 영역에 있는 서버를 라우터라고 부르는데, 클라이언트가 Cloud Pub/Sub와 연결되면 라우터는 두 지점 간의 연결에 대한 최단 네트워크 거리를 기준으로 클라이언트를 연결할 데이터 센터를 결정한다.
사용 사례
- 네트워크 클러스터 간의 워크로드 균형 조정
- 비동기 워크플로 구현
- 이벤트 알림 배포
- 여러 시스템에 로깅
- 다양한 프로세스 또는 기기에서 데이터 스트리밍
🍦참고자료
박스님 블로그 : box0830.tistory.com/273
조대협의 블로그 : bcho.tistory.com/1120
GCP 공식문서 : cloud.google.com/pubsub/docs/overview?hl=ko
'스터디 > 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 |
댓글