Pub/Sub 개요
카카오클라우드의 Pub/Sub 서비스는 대용량 이벤트와 데이터 분석을 지원하는 비설치형 메시지 큐(Message Queue) 서비스입니다. Pub/Sub은 정보를 생성하고 발행하는 "게시자"와 이를 수신하고 처리하는 "구독자" 간의 비동기 통신 패턴을 사용합니다. 게시자는 정보를 특정 토픽(Topic)에 발행하며, 수신자는 원하는 토픽을 구독하여 발행된 정보를 비동기적으로 수신하고 처리할 수 있습니다.
용어 정리
- Pub/Sub: "Publish/Subscribe"의 약어로, 데이터의 발행(Publish)과 구독(Subscribe)을 기반으로 한 메시지 패턴을 사용하여 정보를 효율적으로 분배하고 처리하는 서비스입니다.
- 메시지 큐(Message Queue): 메시지 대기열이라고도 하며 서버리스 및 마이크로 서비스 아키텍처에 사용되는 비동기식 서비스 대 서비스 통신 형태입니다. 메시지는 대기열에 저장되어 처리되고 각 메시지는 하나의 구독자에 의해 한 번만 처리됩니다. 메시지 큐는 규모가 큰 처리 작업의 결합을 해제하고 버퍼링 또는 배치 작업을 수행하며 급변하는 워크로드를 원활하게 지원하는 데 사용될 수 있습니다.
사용 목적 및 사례
메시지 큐를 사용하지 않을 경우, 대규모 데이터 처리 및 메시지 전송을 수동으로 구현해야 하므로 복잡도가 증가하며 구현에도 많은 시간이 소요됩니다. 애플리케이션 간의 통신 또한 동기적으로 이루어지므로 한 애플리케이션이 다른 애플리케이션의 응답을 기다릴 때 애플리케이션의 응답 시간이 증가합니다. 이런 애플리케이션 간의 직접적인 통신은 애플리케이션 간 결합도를 증가시키므로 변경과 확장도 어렵습니다.
카카오클라우드의 Pub/Sub은 대량의 메시지 데이터를 가져오거나 Webhook이 필요한 경우 애플리케이션/서비스 간 통신을 비동기적으로 처리하여 데이터 관리 효율성을 높일 수 있습니다.
특징
Pub/Sub 서비스를 이용해 대규모의 메시지를 효율적으로 관리할 수 있습니다.
태스크 병렬 처리
- 여러 사용자 간의 이벤트 분석, 처리 등 많은 태스크를 효율적으로 작업할 수 있도록 지원
효율적인 메시지 관리
- 재시도 정책, 보관 기간, 시점 되돌리기 등의 지정된 정책에 따라 미확인 메시지를 다시 자동 요청하고 필요에 따라 특정 토픽의 메시지를 보관하고 시점을 되돌릴 수 있음
Push 전송
- 메시지가 토픽에 게시될 때 비동기 이벤트 알림을 즉시 푸시하고 메시지를 사용할 수 있게 되면 구독자에게 알림을 전송
Object Storage 버킷으로 메시지 전송
- 별도의 클라이언트 구성 없이 토픽에 게시한 메시지를 Object Storage 버킷으로 전송
시작하기
Pub/Sub에 대한 자세한 사용 가이드는 How-to Guides에서 설명합니다. 카카오클라우드를 처음 시작하신다면 카카오클라우드 시작하기를 참고하시기 바랍니다.