해당 문서를 읽게된 계기
사내에서 사용하는 kafka가 이중화 되어있어 기능 구현이나 배포 과정에서 염두에 두고 있어야 하는 점들이 있는데 마침 토스 테크블로그에 토스 증권 kafka 이중화 관련 내용이 있어 이에 대한 내용을 정리한다.
레퍼런스
https://toss.tech/article/kafka-distribution-1
https://toss.tech/article/kafka-distribution-2
https://toss.tech/article/kafka-distribution-3
Kafka 이중화의 필요성
kafka 이중화의 필요성과 어려움
- 한쪽 데이터 센터 장애 발생 시에도 서비스를 정상동작 시키려면 다른 지역에 있는 데이터 센터에 트래픽을 몰아주면 된다.
- 서비스 서버의 경우 각 데이터 센터에 k8s 클러스터를 구축하고 트래픽을 50:50으로 분산시켜 놓은뒤 장애 발생 시 정상 데이터센터 쪽으로 트래픽을 꺾으면 된다.
- stateless 한 api 서버와 다르게 stateful 한 kafka는 이중화 구성에 더 고민이 필요하다.
Kafka 이중화 아키텍처