
백엔드
MRT Public Data Service 개발 — 2
두줄요약
CDC 데이터를 Kafka Streams로 가공해 Druid에 색인하고 API로 제공하는 PDS 구조를 소개했습니다. 실시간 집계와 운영 모니터링을 함께 설계한 사례를 다뤘습니다.
핵심 내용
- CDC로 들어오는 서비스 DB 데이터를 Kafka Streams로 가공해 Druid에 색인하고 REST API로 제공하는 Public Data Service(PDS) 구성
- Kafka Streams의 가벼운 도입성, Streams DSL, TopologyTestDriver, exactly once 처리 특성
- Druid의 컬럼 지향 저장, 사전 집계(roll up), 분산 노드 구조, deep storage·metadata storage·Zookeeper 의존성
- UPS 테이블을 추가 CDC로 받아 GlobalKTable left join에 활용하고, Helm·ArgoCD·Prometheus·Grafana로 운영
적용해볼 점
- CDC 기반 실시간 집계와 서비스 서빙을 분리하는 구조 검토
- join용 참조 데이터는 compact 토픽과 GlobalKTable로 관리하는 방식 고려
- Druid 색인에서 roll up 여부와 모니터링 체계까지 함께 설계