목록 보기
45분 배치에서 준실시간으로! 다수 도메인 데이터를 Kafka로 통합한 전환기
백엔드

45분 배치에서 준실시간으로! 다수 도메인 데이터를 Kafka로 통합한 전환기

올리브영
올리브영
2026년 4월 22일

두줄요약

상품·쿠폰·증정·프로모션 데이터를 Kafka 기반 준실시간 구조로 전환한 사례입니다.\nRedis Pub/Sub, Aggregation Topic, Shadow Table로 정합성과 안전한 이관을 확보했습니다.

문제 상황

  • 상품·쿠폰·증정·프로모션 혜택 데이터를 하나의 전시 화면에 통합해야 하는 구조
  • 10년 이상 누적된 단일 프로시저 의존으로 최대 45분 지연, 전체 재계산에 따른 불필요한 I/O와 운영 리스크
  • 도메인별 생명주기와 실시간성 요구가 달라 단순한 일괄 이벤트 전환이 어려운 상황

원인 분석

  • 도메인 로직이 프로시저 안에 강결합되어 정책 변경 추적과 테스트가 어려운 상태
  • 스트리밍과 배치가 같은 Row를 갱신하며 락, 경합, 덮어쓰기 가능성 존재
  • Kafka 신호 유실과 메시지 중복, 처리 순서 비보장으로 정합성 확보 필요

해결 방법

  • 도메인 특성에 따라 배치 발행과 이벤트 기반 처리를 섞은 하이브리드 구조 적용
  • Redis Pub/Sub과 상태 플래그를 조합해 배치-스트리밍 동시성 제어, 신호 유실 시 폴링 확인으로 안전장치 추가
  • Aggregation Topic, 상품ID 파티셔닝, UPSERT와 최신 타임스탬프 필터로 순서와 멱등성 보장

적용해볼 점

  • 레거시 전환 시 Shadow Table로 병행 검증 후 롤아웃하는 방식
  • 완전한 실시간성보다 정합성과 안정성을 우선하는 판단
  • 변경된 데이터만 처리하는 이벤트 기반 전환으로 운영 부하 감소

댓글 0

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

댓글을 불러오는 중...