brunch

매거진 GCP

You can make anything
by writing

C.S.Lewis

by 하이프마크 Dec 06. 2021

GCP : Cloud Pub/Sub

GCP



클라우드 Pub/Sub은 이벤트 기반 시스템 및 스트리밍 분석에 대한 메시징 및 수집을 하는 GCP의 대표적인 메시징 서비스입니다.


별도의 인스턴스를 관리할 필요 없이 사용량에 따라 메시지를 확장할 수 있으며 글로벌 규모에서도 안정적인 메시지 전달을 제공합니다.


Pub/Sub는 데이터를 수집하고 배포하는 스트리밍 분석 및 데이터 통합 파이프라인에 사용됩니다. 이는 서비스 통합을 위한 메시징 중심 미들웨어 또는 태스크 병렬화를 위한 큐로도 효과적입니다.


Pub/Sub은 다음과 같이 구성되어 있는데요.  


주제(Topic): 게시자가 메시지를 전송하는 이름이 지정된 리소스. 하나의 주제에 1개 이상의 구독으로 구성할 수 있습니다.

구독(Subscription): 특정 단일 주제의 메시지 수신 의향을 나타내는 이름이 지정된 리소스.

메시지(Message): 서비스를 통해 구독자에게 전달되는 데이터

메시지 속성(Message attribute): 게시자가 메시지에 대해 정의할 수 있는 키-값 쌍.

게시자(Publisher): 특정 주제의 메시지를 만들고 전송하는 사람 혹은 애플리케이션

구독자(Subscriber): 지정한 구독에 대한 메시지를 수신하는 사람 혹은 애플리케이션.

확인(Acknowledgement 또는 ‘ack’): 구독자가 메시지를 정상적으로 수신한 후 Pub/Sub에 구독자가 보내는 신호(확인된 메시지는 구독의 메시지 큐에서 삭제됨)


구성을 확인하셨으면 Pub/Sub 메시지 흐름을 보시겠습니다.





전송된 메시지는 구독자가 확인할 때까지 메시지 저장소에 남아 있으며 Pub/Sub 서비스가 메시지를 주제에서 개별 구독으로 전송합니다. 각 구독은 Pub/Sub가 구독자가 선택한 엔드포인트로 내보내기하거나 구독자가 서비스에서 가져오기한 메시지를 수신합니다.


그렇다면 내보내기와 가져오기가 무엇일까요?


기본적으로 메시지는 내보내기 및 가져오기로 전송할 수 있는데요. 구독자는 Pub/Sub가 구독자가 선택한 엔드포인트로 내보내거나 구독자가 서비스에서 가져온 메시지를 수신합니다. 전달 방법은 언제든 변경하거나 구성할 수 있습니다.





가져오기는 구독자가 데이터를 요청할 때 전달받는 방식으로, 방법은 다음과 같습니다.   


구독 애플리케이션은 가져오기 방법을 명시적으로 호출해, 전달할 메시지를 요청.

Pub/Sub 서버가 메시지(큐가 비어 있다면 오류)와 확인 ID에 반응.

구독자는 반환된 확인 ID를 이용해 확인 방법을 명시적으로 호출함으로써 메시지 수신 확인.





반면 내보내기는 데이터가 오면 구독자에게 전달하는 방식입니다.  


Pub/Sub 서버는 각 메시지를 미리 구성된 엔드포인트에 있는 구독자 애플리케이션에 하나의 HTTPS 요청으로 전송.

엔드포인트가 HTTP 성공 상태 코드를 반환해 메시지 확인. 성공적이지 않은 응답은 메시지를 다시 전송해야 한다는 뜻.


가져오기는 여러 구독자가 Share과 같은 가져오기 요청을 구성할 수 있고 따로 GCP 콘솔에서 구성할 필요가 없습니다. 또한 구독자가 전달 속도를 조절할 수 있습니다. 반면 내보내기의 경우에는 엔드포인트가 부하분산기가 될 수 있고 GCP 콘솔에서 내보내기 엔드포인트를 구성해야 합니다. 또한 클라우드 Pub/Sub이 자동으로 흐름 제어를 구현합니다. 


또한 게시자와 구독자의 관계는 일대다, 다대일, 다대다로 구성됩니다.





이러한 데이터는 구글 내부의 비공개 네트워크를 통해 데이터 센터에 자동으로 분산됩니다.


그렇다면 이 Pub/Sub을 어떻게 이용하는지 알아봐야겠죠. 이는 두 가지 서비스로 구성됩니다.  


Pub/Sub 서비스: 대부분의 사용자 및 애플리케이션에서 기본적으로 사용되는 옵션입니다. 자동 용량 관리와 함께 가장 높은 안정성과 가장 큰 통합 기능을 제공합니다.

Pub/Sub 라이트 서비스: 저비용으로 빌드된 별도의 유사한 메시징 서비스입니다. 영역 스토리지를 제공하며 스토리지 및 처리량을 사전 프로비저닝하고 관리해야 합니다.


특징을 살펴보시고 맞는 서비스를 선택하셔서 이용하시면 되겠습니다.


이처럼 Pub/Sub은 프러비저닝 없는 완전 자동 시스템이며 규정 준수 및 보안에 철저하다는 장점이 있습니다. 또한 여러 서비스를 하나로 이어주는 역할을 하는지라 GCP를 이용을 좀 더 편하게 만들어 줍니다.


하이프마크에서는 기업의 웹앱로그데이터의 클라우드 적재와 ETL 파이프라인 구성 그 외 클라우드 내 데이터분석 환경 구축 및 분석 시각화 서비스를 함께 제공하고 있습니다.


AWS, GCP등 클라우드 이전 매니지드서비스 및 웹앱로그데이터 태깅 적재 관련 문의사항이 있으시면 하이프마크에 문의 주세요


감사합니다. 


참조 : https://cloud.google.com/pubsub/docs/overview?hl=ko

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari