Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그
Debezium MSK Connect로 Failover 구현하여 서비스 안정성 높이기 섬네일

Debezium MSK Connect로 Failover 구현하여 서비스 안정성 높이기

올리브영 favicon올리브영·Data·
KotlinMySQLKafkaDebeziumMSK Connect
2024년 11월 07일4

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

올리브영이 Debezium MSK Connect를 활용해 Failover를 구현하고 Heartbeat 기반 모니터링과 오프셋 관리로 서비스 안정성을 높였습니다.

구현 방법

  • Debezium MSK Connect를 이용한 Failover 아키텍처 구성 및 데이터 흐름 정의
  • Heartbeat 기능 활용: heartbeat.interval.ms, topic.heartbeat.prefix로 연결 상태를 주기적으로 확인하고 Slack 알림 및 온콜 시스템 가동
  • 오프셋/상태 토픽 구성: value.converter=org.apache.kafka.connect.json.JsonConverter, key.converter=org.apache.kafka.connect.json.JsonConverter, offset.storage.topic=__amazon_msk_connect_offsets_test-connector, offset.storage.partitions=3, offset.storage.replication.factor=3, status.storage.partitions=3, status.storage.replication.factor=3
  • 신규 Connector 생성 및 데이터 보정: 기존 토픽의 데이터 중 필요한 기간만 재발행하여 Failover용 스냅샷 데이터를 구성하고, CDC 이벤트 중 r 상태를 failover-topic으로 재배치한 뒤 f 상태로 변환하는 파이프라인 구축
  • Failover 공통 처리(AOP) 구현: Failover 어노테이션 기반으로 서비스 메서드 실행 시 실패 대처 로직을 적용하고, 변경 필드 생성 및 데이터 연계 로직과의 충돌 최소화
  • 데이터 연속성 보장 및 재처리 흐름: offset를 기준으로 특정 시점부터 재처리하여 데이터 손실 없이 흐름 유지

주요 결과

  • 서비스 장애 시점에서의 자동 전환 및 실시간 상태 모니터링으로 운영 안정성 강화
  • Failover 시점의 데이터 정합성 유지 및 연속적 데이터 처리 보장
  • 오프셋 및 상태 토픽 구성을 통한 빠른 재가동 및 데이터 손실 최소화
  • AOP 기반 Failover 공통화로 서비스 로직과 독립적인 실패 관리 체계 확립

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
상품데이터 Pipeline을 위한 Debezium MSK Connect 섬네일
76%

상품데이터 Pipeline을 위한 Debezium MSK Connect

올리브영 favicon올리브영·2024년 03월 11일
AWS MSK Connect 효과적으로 운영하기 섬네일
70%

AWS MSK Connect 효과적으로 운영하기

올리브영 favicon올리브영·2023년 10월 04일
Kafka 메시지 중복 및 유실 케이스별 해결 방법 섬네일
69%

Kafka 메시지 중복 및 유실 케이스별 해결 방법

올리브영 favicon올리브영·2024년 10월 16일