682 words
3 minutes
[kafka]12. 클러스터간 미러링
개요
01. 2개 이상의 클러스터가 필요한 경우
여러 클러스터가 필요한 주요 시나리오:
-
데이터 센터/지역 간 격리가 필요한 경우
- 법적 규제 준수를 위한 데이터 지역화 요구사항 충족
- 재해 복구(DR) 대비
-
성능 최적화가 필요한 경우
- 지리적으로 분산된 애플리케이션의 지연 시간 최소화
- 특정 지역의 트래픽 부하 분산
-
보안 요구사항
- 민감한 데이터의 물리적/논리적 분리
- 접근 제어 정책의 세분화
02. 다중 클러스터 아키텍쳐
Concept
- hop: 데이터가 한 클러스터에서 다른 클러스터로 이동하는 단위 동작
- WAN: Wide Area Network, 지리적으로 분산된 네트워크를 연결하는 광역 통신망
- hub-and-spokes-architecture: 중앙 허브 클러스터와 이를 둘러싼 스포크 클러스터로 구성된 구조
- active-active: 모든 클러스터가 동시에 읽기/쓰기 작업을 처리하는 구성
- active-standby: 하나의 클러스터가 주 역할을 하고 다른 클러스터는 대기 상태로 유지되는 구성
hub-and-spokes-architecture
- 중앙 집중식 데이터 관리 가능
- 단순한 토폴로지로 관리 용이
- 허브 클러스터 장애 시 전체 시스템 영향
active-active
- 고가용성 보장
- 로드 밸런싱 효과
- 복잡한 데이터 동기화 관리 필요
active-standby
- 단순한 장애 복구 시나리오
- 리소스 효율성 낮음
- 빠른 장애 감지와 전환 메커니즘 필요
03. 카프카의 DR 아키텍쳐
장애복구 시나리오
- 네트워크 장애
- 데이터센터 장애
Concept
- RTO: Recovery Time Objective, 장애 발생 후 서비스 복구까지 허용되는 최대 시간
- RPO: Recovery Point Objective, 장애 발생 시 허용되는 최대 데이터 손실 시점
Stretch Cluster
Concept
- Stretch Cluster: 단일 카프카 클러스터를 여러 데이터센터에 걸쳐 구성하는 방식으로, 동기식 복제를 통해 데이터 일관성 보장
04. Kafka MirrorMaker
- 카프카의 기본 크로스 클러스터 복제 도구
- 소스 클러스터의 토픽을 대상 클러스터로 복제
- 설정이 간단하고 유연한 토픽 필터링 지원
- MirrorMaker 2.0에서 대폭 개선된 기능 제공
- 양방향 복제 지원
- 토픽 설정 자동 동기화
- 향상된 모니터링 기능
05. 몇가지 대안들
- Linkedin Brooklin
- Uber uReplicator
- Confluent Replicator
Key Takeaway
- 다중 클러스터 아키텍쳐는 기본적으로 특정 네트워크 상에서의 트레이드 오프를 반영한다
Reference
- 카프카 핵심 가이드
[kafka]12. 클러스터간 미러링
https://yjinheon.netlify.app/posts/02de/kafka/de-kafka-12_kafka_cluster/