인프런 커뮤니티 질문&답변
cdc failover
작성
·
20
·
수정됨
답변 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 적용 시 고려할 수 있는 몇 가지 사항입니다:
마스터 바라보게 하기: CDC는 일반적으로 데이터의 가장 최신 상태를 정확하게 반영해야 하므로, 마스터 데이터베이스를 바라보도록 설정하는 것이 일반적입니다. 이는 데이터의 일관성을 보장하지만, 마스터의 가용성이 중요합니다.
Failover 구상: 장애 상황(예: 마스터 장애)에서의 전략이 필요합니다. 주로 주키퍼 같은 도구를 통해 failover를 자동화할 수 있으며, 이는 복잡해 보일 수 있지만, 시스템의 안정성을 크게 향상시킵니다.
슬레이브에 Binlog와 GTID 설정: 슬레이브에서 CDC를 처리하려면 Binlog 및 GTID 설정이 필요할 수 있습니다. 이를 통해 마스터와의 동기화 문제를 관리할 수 있습니다.
현업에서 이러한 적용은 시스템의 특성과 프로젝트의 목표에 따라 다르게 접근합니다. 예를 들어:
Get Consistent Data: 장애 발생 시 데이터를 잃지 않도록 주키퍼 및 도메인 기반 설정을 통해 재시도를 가능케 함으로써 안정된 CDC 운영을 목표로 합니다.
Maintain Simplicity with Effectiveness: 시스템의 복잡성을 줄이면서도 고가용성을 위한 설정, 예를 들어 두 개의 마스터를 설정하여 한쪽에서 장애가 발생하면 재빠르게 넘어가는 구조를 고려할 수 있습니다.
이 질문과 유사한 다른 인프런 질문도 참고하시면 도움이 될 것 같습니다.
Debezium 문의 - Debezium과 Confluent Kafka 적용에 대한 사례가 답변되어 있습니다.
실무에서 카프카 환경 구축 - Kafka와의 연동 및 클러스터 환경 구축에 대한 실무적인 해법을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.





