네이버페이, Flink 기반 CDC 시스템으로 연간 수십조 데이터 무중단 처리!
by DD
6개월 전
조회수 23
네이버페이의 DB CDC 복제 도구인 ergate 프로젝트를 소개하며, Apache Flink와 Spring Framework를 활용함
Flink 기반의 CDC 복제 시스템을 구축하여 1초 내 복제 보장 및 성능 10배 향상을 달성함
무중단/무장애 교체를 위해 중복 복제 전략과 자동 복구 기능을 구현하여 안정성을 확보함
Flink 기반 CDC 시스템 아키텍처
nBase-cdc가 MySQL binlog를 읽어 Kafka로 발행하면, ergate의 Flink job이 이를 소비하여 Target DB에 반영한다. 구체적으로, JDBC Sink를 확장하여 DynamicBatchSize를 구현, I/O 병목을 해결했다. 따라서 1초 내 복제 보장 및 고가용성을 확보했다.
무중단/무장애 전환 전략
ergate와 mig-data의 중복 복제를 통해 무중단 전환을 달성했다. 자동 복구 기능을 구현하여 장애 발생 시에도 데이터 유실을 방지했다. DDL 실행 순서 의존성 제거를 위해 칼럼 캐싱 전략을 사용, 스키마 변경에 유연하게 대응했다.
성능 최적화 및 트러블슈팅
성능 개선을 위해 객체 직렬화 최적화, 데이터 스큐 분산, Flink JdbcSink 확장을 수행했다. AsyncDataStream을 활용하여 검증 성능을 향상시켰다. 결과적으로, 기존 대비 10배 이상 QPS 처리가 가능해졌으며, 레이턴시 감소를 달성했다.
댓글 0
첫 번째 댓글을 남겨보세요!