본문으로 건너뛰기

2. Pub/Sub 메시지를 통한 Kafka 스트리밍 환경 구축

실시간 데이터 파이프라인 구축 ②: Pub/Sub → Kafka 메시징 흐름을 기반으로 실시간 데이터 파이프라인을 시작하는 실습입니다.

안내
  • 예상 소요 시간: 30분
  • 권장 운영 체제: MacOS, Ubuntu
  • 사전 준비 사항

시나리오 소개

이 튜토리얼은 실시간 파이프라인에서 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으로 메시지를 전달하도록 설정합니다. 이 단계는 전체 스트리밍 파이프라인에서 메시지를 최초로 수신하는 진입점 역할을 합니다.

  1. 카카오클라우드 콘솔 > Data Streaming > Pub/Sub > Topic 으로 이동합니다.

  2. [Topic 생성] 클릭 후 다음을 입력합니다.

    항목설정값
    이름tutorial-pub-topic
    설명Kafka 연동 테스트용 Topic
  3. 생성된 Topic의 상세 화면 > 구독 설정 > Kafka 연동 탭을 클릭합니다.

  4. [Kafka 구독 추가] 클릭 후 아래 값을 입력합니다.

    항목설정값
    Kafka 클러스터tutorial-amk-cluster
    Kafka Topictutorial-kafka-topic
  5. 저장 후 상태가 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로 정상 전달되는지 확인합니다.

  1. 카카오클라우드 콘솔 > Pub/Sub > Topic > tutorial-pub-topic 으로 이동합니다.

  2. [메시지 발행] 버튼을 클릭하고 아래 JSON을 입력합니다.

    {
    "event": "log",
    "timestamp": "2025-04-21T10:00:00Z",
    "message": "Test message from Lab01"
    }
  3. 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 기반 실시간 데이터 분석