브로커 로드 밸런싱 | 유형

브로커 로드 밸런싱 | 유형 (Broker load balancing | Types)

Pulsar는 세 가지 유형의 브로커 로드 밸런서를 제공해요. 단순(Simple) 로드 밸런서는 Pulsar 시작부터 있었지만 이제 비권장(deprecated)이고, 모듈식(Modular)과 확장 가능한(Extensible) 로드 밸런서가 주로 사용돼요. 이 페이지에서는 세 유형의 특징과 차이를 비교해요.

출처: 문서

본문

Pulsar는 세 가지 유형의 브로커 로드 밸런서를 제공해요.

  • Simple(단순) 브로커 로드 밸런서: Pulsar 시작부터 있었지만 이제 비권장(deprecated)이에요.
  • Modular(모듈식) 브로커 로드 밸런서
  • Extensible(확장 가능한) 브로커 로드 밸런서

모듈식과 확장 가능한 브로커 로드 밸런서는 서로 다른 시스템 설계로 유사한 로드 밸런싱 기능을 구현해요. 예를 들어 둘 다 브로커 간에 데이터 부하를 분산하는 유사한 접근 방식을 사용해요.

  • 동적 번들-브로커 할당
  • 동적 번들 분할
  • 동적 번들 언로드(셰딩)

하지만 번들 소유권과 부하 데이터 저장에 있어서 모듈식 로드 밸런서는 ZooKeeper를 사용하는 반면, 확장 가능한 로드 밸런서는 System topics과 Table views를 사용해요.

나란히 비교 (Side-by-side comparisons)

Dimension Modular broker load balancer Extensible broker load balancer
Available version Pulsar 1.7.0, 2017 Pulsar 3.0.0, 2023
Load Balance Metadata Store and Replication ZooKeeper에 의존해 로드 밸런스 메타데이터 저장·복제. 모든 브로커 부하 데이터와 번들 부하 데이터는 ZooKeeper에 저장되고 ZooKeeper watcher로 모든 브로커에 복제됨. 모든 번들 소유권은 임시 잠금으로 ZooKeeper에 저장됨. 시스템 토픽과 테이블 뷰에 의존해 로드 밸런스 메타데이터 저장·복제. 모든 브로커 부하 데이터는 비-영속 시스템 토픽에 저장되고 테이블 뷰로 모든 브로커에 복제됨. 각 브로커는 상위 k개 번들의 부하 데이터만 비-영속 시스템 토픽에 게시하고, 리더 브로커만 테이블 뷰로 소비함. 번들 소유권은 영속 시스템 토픽에 저장되고 테이블 뷰로 모든 브로커에 복제됨. 참고: 데이터가 메모리 전용·비-영속 토픽을 통과하므로 복제된 부하 데이터의 절대 크기와 복제의 복잡성이 감소함.
Load Balance Decision (Load Balance leader dependency) 단일 리더 브로커가 번들-브로커 할당, 번들 분할, 번들 언로드를 결정함. 참고: 리더 브로커는 전역 부하 정보가 필요함. 각 브로커가 로컬(복제된) 정보에 기반해 번들-브로커 할당(룩업)과 번들 분할을 결정·실행함. 리더 브로커는 여전히 번들 언로드를 전역적으로 결정함.
Pub/sub reconnection upon bundle unloading 번들이 언로드되면 번들의 토픽이 일시적으로 닫히고 프로듀서·컨슈머가 새 소유 브로커에 연결함. 새 소유 브로커 연결은 리더 브로커를 통한 룩업 요청 리다이렉트를 포함함. 어떤 브로커든 리더 브로커에게 묻지 않고 룩업 요청에 응답해 새 소유 브로커를 찾을 수 있음. 재연결은 리더 브로커를 거치지 않음.
Observability 다양한 메트릭으로 로드 밸런스를 모니터링·분석할 수 있음 추가 메트릭과 디버그 모드를 제공함. 예: 로드 밸런스 결정 분해·실패 상태 확인, 동적 디버그 모드 구성으로 더 많은 로드 밸런스 결정 로그를 동적으로 켜고 끔.
  • 포괄적 이해와 핵심 통찰은 Broker load balancing | Overview.
  • 다양한 사용 시나리오는 Broker load balancing | Use cases.
  • 기능 탐구는 Broker load balancing | Features.
  • 장점 이해는 Broker load balancing | Benefits.
  • 핵심 기초 학습은 Broker load balancing | Concepts.
  • 빠른 시작은 Broker load balancing | Quick start.
  • 로드 밸런서 유형 마이그레이션은 Broker load balancing | Migration.

더 알아보기 (Learn more)

  • 로드 밸런싱 개요는 Overview 문서를 참고해요.
  • 로드 밸런싱 핵심 개념은 Concepts 문서를 참고해요.
  • 한 유형에서 다른 유형으로 마이그레이션하는 방법은 Migration 문서를 참고해요.