토
토스
January 8, 20251회
토스증권 Apache Kafka 데이터센터 이중화 구성 #1
간단 소개
토스증권은 데이터센터 이중화를 위해 Active-Active Kafka 클러스터를 구축하고, 데이터 미러링과 Offset Sync를 통해 운영 부담을 극복했다.
AI Summary
- Kafka 이중화 필요성 및 아키텍처
- 데이터센터 장애 시에도 서비스 연속성을 확보하기 위해 Kafka 이중화가 필요하며, Active-Active 구성과 Stretched Cluster 구성이 존재한다.
- Active-Active는 독립적인 Kafka 클러스터를 구성하고 양방향 데이터 미러링을 통해 동기화하는 방식이다.
- Stretched Cluster는 물리적으로 분리된 노드를 하나의 Kafka 클러스터로 묶어 별도의 데이터 미러링 없이 동기화하는 방식이다.
- Active-Active 구성 선택 이유 및 목표
- 토스증권은 가용성 확보, 성능 저하 방지, 운영 편의성을 고려하여 Active-Active 구성을 선택했다.
- Stretched Cluster는 Split-brain 발생 가능성과 latency 증가로 인해 부적합하다고 판단했다.
- Active-Active 구성의 단점인 운영 부담을 극복하기 위해 데이터 미러링 및 Consumer Group Offset Sync를 구현했다.
- 이중화 구성 후 목표 달성 및 트래픽 흐름
- Kafka 이중화에 대한 이해가 깊지 않은 서비스 서버 개발자들도 쉽게 활용할 수 있도록 토픽명을 동일하게 유지했다.
- 데이터센터 장애 발생 시 메인 센터 전환이 빠르고 편하도록 DNS 정책을 적극적으로 활용했다.
- Producer는 Split DNS를 통해 지역성을 확보하고, Consumer는 GSLB DNS를 통해 Active-Standby 구조를 구현했다.
Next Feeds

미우미우 핑크핀은 왜 안나오나요 ?
SSG.COM 검색 실패율 감소를 위해 BERT 기반 모델을 활용, 롱테일 검색어 처리 및 검색 정확도를 향상시킨 사례 분석.
검색 실패BERTMLMSBERT벡터 DB
2025. 1. 8.
SSG

검색엔진에 의존하지 않는 Reranking API 개발하기
검색 엔진 의존성 없이 Learning to Rank를 고도화하여 CTR 상승을 이끌어낸 SSG의 Reranking API 개발 경험 공유.
LTRRerankinggRPC캐싱CTR
2025. 1. 8.
SSG

코드 품질 개선 기법 2편: 확인 여부를 확인했나요?
암묵적인 확인 전제를 피하고, 유효성 검사 책임을 명확히 하여 코드의 안정성을 높이는 방법을 제시합니다.
코드 품질유효성 검사타입 안전풀 프루프오류 처리
2025. 1. 8.
LY Corp

성공적인 Kubernetes 마이그레이션 전략 알아보기
Kubernetes 마이그레이션 전략, 필요성, 사전 준비, 유의사항을 분석하고 성공적인 마이그레이션을 위한 핵심 정보를 제공합니다.
Kubernetes마이그레이션DevOps컨테이너자동화
2025. 1. 8.
인포그랩
코틀린 코루틴 예외 처리, 어떻게 해야 할까?
코틀린 코루틴 환경에서 예외 처리 중요성과 다양한 방법(try-catch, Job, SupervisorJob, supervisorScope)을 통해 안정적인 시스템을 구축하는 방법을 제시합니다.
코틀린코루틴예외 처리구조화된 동시성SupervisorJob
2025. 1. 7.
카카오페이

Mergeable libraries 로 29% 빠르게 앱 실행하기
29CM iOS 앱의 시작 시간을 개선하기 위해 Mergeable Libraries를 도입하고, Sentry를 통해 성능 개선 효과를 정량적으로 분석한 결과, 앱 시작 시간이 29% 단축됨.
Mergeable LibrariesiOS앱 시작 시간Dynamic LibrariesStatic Libraries
2025. 1. 7.
29cm