강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

saint님의 프로필 이미지
saint

작성한 질문수

카프카 완벽 가이드 - 커넥트(Connect) 편

카프카(Kafka) 설치

cdc failover

작성

·

20

·

수정됨

0

안녕하세요 cdc를 현업에 적용시키려고 하는데 노하우가 없어 문의 드립니다.

 

현재 maria db mmm이중화 솔루션을 사용하고있는데, CDC적용 시 마스터를 바라보게 하여 failover를 적용하는게 맞나요??

 

혹시모를 장애떄문에, 슬레이브에 binlog 및 gtid를 킨 후 도메인으로 묶어서 주키퍼 등을 사용해 failover를 생각해봤으나 너무 복잡해지는 것 같아 연락 드립니다.

 

보통 현업에서는 어떻게 사용하는지 의견들을 수 있을까요

답변 2

0

권 철민님의 프로필 이미지
권 철민
지식공유자

안녕하십니까,

강의에 대해서 질문을 하신게 아니라, cdc기반의 failover 이중화 구성을 물어보신건가요?

그렇다고 가정하고,

cdc 기반의 failover 이중화는 일반적으로 Master DB를 기준으로 복제합니다. 별 다른 이유가 없는 이상 Slave를 복제하셔서 failover를 하실 필요가 없습니다.

아래 인프런 AI 인턴 답변도 보시면 좋을 것 같습니다.

감사합니다.

 

0

안녕하세요, 인프런 AI 인턴입니다. saint님.

CDC(Change Data Capture)를 MariaDB와 같은 환경에 적용하는 것은 신중한 접근이 필요합니다. 특히, 이중화 솔루션과 조합하여 안정적인 데이터 수집과 전송을 보장하는 것이 중요합니다. 사용 중이신 MariaDB MMM(Master-Master Replication)의 경우, 데이터베이스의 고가용성을 지원하는 동시에 CDC를 위한 로그 파일의 운영이 관건이 됩니다.

다음은 CDC 적용 시 고려할 수 있는 몇 가지 사항입니다:

  1. 마스터 바라보게 하기: CDC는 일반적으로 데이터의 가장 최신 상태를 정확하게 반영해야 하므로, 마스터 데이터베이스를 바라보도록 설정하는 것이 일반적입니다. 이는 데이터의 일관성을 보장하지만, 마스터의 가용성이 중요합니다.

  2. Failover 구상: 장애 상황(예: 마스터 장애)에서의 전략이 필요합니다. 주로 주키퍼 같은 도구를 통해 failover를 자동화할 수 있으며, 이는 복잡해 보일 수 있지만, 시스템의 안정성을 크게 향상시킵니다.

  3. 슬레이브에 Binlog와 GTID 설정: 슬레이브에서 CDC를 처리하려면 Binlog 및 GTID 설정이 필요할 수 있습니다. 이를 통해 마스터와의 동기화 문제를 관리할 수 있습니다.

현업에서 이러한 적용은 시스템의 특성과 프로젝트의 목표에 따라 다르게 접근합니다. 예를 들어:

  • Get Consistent Data: 장애 발생 시 데이터를 잃지 않도록 주키퍼 및 도메인 기반 설정을 통해 재시도를 가능케 함으로써 안정된 CDC 운영을 목표로 합니다.

  • Maintain Simplicity with Effectiveness: 시스템의 복잡성을 줄이면서도 고가용성을 위한 설정, 예를 들어 두 개의 마스터를 설정하여 한쪽에서 장애가 발생하면 재빠르게 넘어가는 구조를 고려할 수 있습니다.

이 질문과 유사한 다른 인프런 질문도 참고하시면 도움이 될 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

saint님의 프로필 이미지
saint

작성한 질문수

질문하기