목록 보기
6개월 만에 연간 수십조를 처리하는 DB CDC 복제 도구 무중단/무장애 교체하기
아키텍처

6개월 만에 연간 수십조를 처리하는 DB CDC 복제 도구 무중단/무장애 교체하기

네이버 D2
네이버 D2
2025년 11월 18일

두줄요약

네이버페이 주문의 DB CDC 복제 도구를 ergate로 전환한 경험을 공유했습니다. Flink와 Spring으로 복제, 검증, 복구를 분리해 성능과 운영 편의성을 개선했습니다.

핵심 내용

  • 네이버페이 주문의 DB CDC 복제 도구를 기존 mig-data에서 ergate로 전환한 개발 경험 공유
  • 백엔드 개발자가 유지 보수하기 쉬운 구조를 목표로 복제, 검증, 복구 기능을 재구성
  • Apache Flink와 Spring Framework를 조합해 복제 성능, 스키마 변경 대응, 운영 복구 편의성을 개선

구조와 흐름

  • 복제: nbase-cdc가 발행한 Kafka 레코드를 Flink JdbcSink가 읽어 Target DB 반영
  • 검증: 지연 컨슈밍으로 원본과 대상 데이터를 비교하고 불일치 시 DLQ와 상태 DB로 전달
  • 복구: 자동 복구와 수동 복구를 분리해 재검증 후 실제 불일치만 업데이트

선택 이유

  • Flink: 저지연 대용량 처리, Kafka 연동 용이성, HA와 확장성 기대
  • 세션 모드: 하나의 UI에서 여러 job 상태 확인, 다수 job 배포 시간 단축
  • Spring 분리: 복잡한 복구 로직을 격리하고 백엔드 개발 친화적으로 유지

성능/운영 포인트

  • DDL 순서 의존성 완화: 칼럼 캐싱과 스키마 갱신으로 추가 순서 문제 완화
  • 스키마/PK 예외 대응: Oracle의 논리 PK를 별도 설정으로 보완
  • 동적 batch size와 비동기 검증으로 처리량과 내결함성 개선

댓글 0

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

댓글을 불러오는 중...