아키텍처
토스증권 Apache Kafka 데이터센터 이중화 구성 #1
두줄요약
토스증권의 Kafka 데이터센터 이중화 개요를 소개하며 Active-Active와 Stretched Cluster를 비교했습니다. 가용성과 성능을 고려해 Active-Active를 선택하고 DNS와 Offset Sync 전략을 설명했습니다.
문제 상황
- 데이터센터 장애에도 서비스 연속성을 확보하기 위한 Kafka 이중화 필요성
- MSA 환경에서 서비스 서버는 Active-Active인데 Kafka가 단일화되면 장애 시 전체 서비스 영향
구조와 흐름
- 양쪽 데이터센터에 독립 Kafka 클러스터를 두는 Active-Active와, 하나의 클러스터로 묶는 Stretched Cluster 비교
- Active-Active는 양방향 데이터 미러링과 Consumer Group Offset Sync가 필요
- Producer는 Split DNS로 지역성 확보, Consumer는 GSLB와 Offset Sync로 Active-Standby 전환
선택 이유
- Stretched Cluster는 데이터센터 간 단절 시 Split-brain 위험과 성능 저하 우려
- Active-Active는 가용성과 지역성을 확보하면서 장애 시 전환 목표에 더 부합
- 운영 부담은 크지만 토스증권 환경에 맞는 아키텍처로 판단