2. Pub/Sub 메시지를 통한 Kafka 스트리밍 환경 구축
실시간 데이터 파이프라인 구축 ②: Pub/Sub → Kafka 메시징 흐름을 기반으로 실시간 데이터 파이프라인을 시작하는 실습입니다.
- 예상 소요 시간: 30분
- 권장 운영 체제: MacOS, Ubuntu
- 사전 준비 사항
- IAM 액세스 키 발급
- Kafka 클러스터, 토픽, 접근용 VM 구성
시나리오 소개
이 튜토리얼은 실시간 파이프라인에서 Pub/Sub → Kafka로 메시지를 스트리밍하는 구조를 구성합니다. 이 흐름은 이후 단계에서 데이터를 저장하고 분석하는 기반이 됩니다.
이번 실습에서는 카카오클라우드의 Pub/Sub 서비스를 통해 발생한 메시지를 Kafka로 전달하는 실시간 데이터 스트리밍 환경을 구성합니다. Kafka는 대용량 메시지 처리에 적합한 분산 메시지 큐 시스템으로, 다양한 실시간 분석 및 저장 흐름의 시작점 역할을 합니다.
주요 내용은 다음과 같습니다.
- Pub/Sub 메시지 프로듀서 구성
- Kafka Topic 연결 및 컨슈머 설정
- 메시지 수신 및 로그 확인
시작하기 전에
이 튜토리얼은 Kafka 클러스터 및 토픽이 사전에 구성되어 있는 환경을 기반으로 진행됩니다. Kafka 환경 구성이 완료되지 않았다면, Kafka를 통한 메시지 처리 튜토리얼을 먼저 완료하세요.
Step 1. Pub/Sub Topic 생성 및 권한 설정
Kafka와 연동할 Pub/Sub Topic을 생성하고 Kafka Topic으로 메시지를 전달하도록 설정합니다. 이 단계는 전체 스트리밍 파이프라인에서 메시지를 최초로 수신하는 진입점 역할을 합니다.
-
카카오클라우드 콘솔 > Data Streaming > Pub/Sub > Topic 으로 이동합니다.
-
[Topic 생성] 클릭 후 다음을 입력합니다.
항목 설정값 이름 tutorial-pub-topic
설명 Kafka 연동 테스트용 Topic -
생성된 Topic의 상세 화면 > 구독 설정 > Kafka 연동 탭을 클릭합니다.
-
[Kafka 구독 추가] 클릭 후 아래 값을 입력합니다.
항목 설정값 Kafka 클러스터 tutorial-amk-cluster
Kafka Topic tutorial-kafka-topic
-
저장 후 상태가
Active
로 변경되는지 확인합니다.
Step 2. Kafka 컨슈머 확인
Kafka 컨슈머를 실행하여 Pub/Sub에서 전달된 메시지가 Kafka에 정상적으로 도착하는지 확인합니다.
$ kafka-console-consumer.sh \
--bootstrap-server {KAFKA_BROKER_ENDPOINT} \
--topic tutorial-kafka-topic \
--from-beginning
Step 3. 테스트 메시지 발행
Pub/Sub 토픽에 테스트 메시지를 발행하여 Kafka로 정상 전달되는지 확인합니다.
-
카카오클라우드 콘솔 > Pub/Sub > Topic > tutorial-pub-topic 으로 이동합니다.
-
[메시지 발행] 버튼을 클릭하고 아래 JSON을 입력합니다.
{
"event": "log",
"timestamp": "2025-04-21T10:00:00Z",
"message": "Test message from Lab01"
} -
Kafka 컨슈머에서 해당 메시지가 수신되는지 확인합니다.
마무리 및 다음 단계
이제 Pub/Sub 메시지를 Kafka(tutorial-amk-cluster
, tutorial-topic
)로 스트리밍하는 기본 구조를 완료했습니다.
이 구조는 이후 데이터 저장(Object Storage), 메타데이터 관리(Data Catalog), 분석(Data Query) 등 전체 데이터 파이프라인의 기반이 될 수 있습니다.
다음 튜토리얼은 Kafka 데이터를 Object Storage에 저장하기를 참고하세요.
이 시리즈는 Kafka를 중심으로 한 실시간 데이터 파이프라인 구축 전 과정을 단계별로 설명하고 있습니다. 메시지 수신부터 저장, 메타데이터 등록, 분석까지 하나의 흐름으로 연결되며, 각 단계는 실제 운영 환경을 기준으로 작성되었습니다.
전체 흐름: Pub/Sub → Kafka → Object Storage → Data Catalog → Data Query
① Kafka를 통한 메시지 처리
② Pub/Sub 메시지 기반 Kafka 스트리밍 구성
③ Kafka 데이터의 Object Storage 적재
④ Data Catalog를 활용한 Kafka 메시지 테이블 등록
⑤ Data Query 기반 실시간 데이터 분석