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/
Author
Datamind
Published at
2025-02-01
License
CC BY-NC-SA 4.0