백엔드
Debezium MSK Connect로 Failover 구현하여 서비스 안정성 높이기
두줄요약
Debezium MSK Connect 장애 대응을 위해 Heartbeat 모니터링과 Failover 복구 흐름을 구성했습니다. 신규 Connector 재생성, op 변환, AOP 공통화로 데이터 연속성과 안정성을 높였습니다.
문제 상황
- Debezium MSK Connect 운영 중 Connector 중단과 데이터 불일치에 대비한 복구 체계 필요
- MSK 기본 메시지 순서 보장 한계와 스냅샷 재생성 시 중복·오염 데이터 처리 문제
원인 분석
- Offset 복구만으로 해결되지 않는 장애 상황 존재
- 스냅샷 데이터 op="r" 이벤트가 기존 처리 로직과 충돌
- Failover 이벤트와 일반 CDC 이벤트를 구분할 공통 처리 기준 부족
해결 방법
- Topic Heartbeat와 Slack 알람으로 Connector 이상 조기 감지
- 신규 Connector 생성 시 Offset 정보와 스냅샷 쿼리 커스터마이징으로 필요한 데이터만 재발행
- op="r" 메시지를 op="f"로 변환하고 ChangedFields를 추가해 Failover 처리
- AOP로 Failover 대상 호출을 공통화해 기존 서비스 로직과 분리
적용해볼 점
- 장애 감지용 Heartbeat 기반 모니터링과 알람 연동
- 복구 불가 시 Offset 확인 후 신규 Connector 재생성
- Failover 전용 토픽, 상태값, AOP를 활용한 분리 설계
