Conceptly
← 전체 목록
📡

Google Cloud Pub/Sub

통합서비스 사이의 메시지 버퍼

Google Cloud Pub/Sub는 서비스와 서비스 사이에 메시지를 완충해 주는 완전관리형 비동기 메시징 서비스입니다. 직접 호출로 생기기 쉬운 결합과 장애 전파를 줄이고, 이벤트를 여러 소비자에게 독립적으로 전달하는 도메인의 메시지 버스 역할을 합니다.

아키텍처 다이어그램

🔗 관계 다이어그램

점선 애니메이션은 데이터 또는 요청의 흐름 방향을 나타냅니다

왜 필요한가요?

서비스가 서로 직접 호출로 엮이면 한쪽 지연이 바로 다른 쪽 대기로 번지고, 소비자가 둘 이상이면 같은 이벤트를 여러 번 보내는 로직도 복잡해집니다.

왜 이런 방식이 등장했나요?

직접 HTTP 호출만으로 마이크로서비스를 묶으면 배포 순서와 장애 전파가 서로 얽힙니다. 이벤트를 잠깐 보관해 두고 필요한 소비자에게 독립적으로 풀어 주는 중간 계층이 필요해졌습니다.

안에서 어떻게 동작하나요?

발행자가 Topic에 메시지를 넣으면 Subscription이 각자 복제본을 받아갑니다. 소비자는 자기 속도로 pull하거나 push로 받으며, ack가 와야 메시지가 정리되므로 잠깐 느려져도 흐름이 끊기지 않습니다.

무엇과 헷갈리나요?

둘 다 이벤트 흐름에 붙지만, Cloud Functions는 메시지를 처리하는 코드이고 Pub/Sub는 그 코드 앞에서 메시지를 쌓고 여러 소비자에게 나누는 계층입니다. 바로 실행할 로직이 중요하면 Functions, 전달·재시도·팬아웃이 중요하면 Pub/Sub가 맞습니다.

언제 쓰나요?

이벤트를 여러 서비스에 동시에 전달하거나, 소비 속도가 다른 작업을 버퍼링해야 할 때 적합합니다. 즉시 응답을 끝내야 하는 동기 호출에는 맞지 않습니다.

이벤트 기반 아키텍처스트리밍 데이터 수집작업 큐팬아웃