목록 보기
MRT Public Data Service 개발 — 2
백엔드

MRT Public Data Service 개발 — 2

마이리얼트립
마이리얼트립
2022년 11월 1일

두줄요약

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 여부와 모니터링 체계까지 함께 설계

다음 읽기

비슷한 주제의 백엔드 글

컬리 검색이 카프카를 들여다본 이야기 2

카프카 스트림즈로 서로 다른 토픽의 메시지를 병합해 검색 인덱싱 파이프라인을 구성한 사례를 다뤘습니다. 또한 스프링과 연동해 생명주기 관리와 헬스체크 가시성을 확보했습니다.

마켓컬리
마켓컬리
백엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...