Pulsar 용어집

Pulsar 용어집 (Terminology)

Apache Pulsar와 관련된 용어를 정리한 용어집이에요. 처음 Pulsar를 접하면 낯선 단어가 많죠. 기본 개념부터 아키텍처, 저장소까지 핵심 용어를 하나씩 설명해 드릴게요.

출처: 문서

본문

개념 (Concepts)

Pulsar

Pulsar는 원래 Yahoo가 만들었지만 현재는 Apache Software Foundation이 관리하는 분산 메시징 시스템이에요.

네임스페이스 번들 (Namespace Bundle)

네임스페이스 번들은 같은 네임스페이스에 속한 토픽들의 가상 그룹이에요. 번들은 0x000000000xffffffff 같은 두 32비트 해시 사이의 범위로 정의돼요.

네임스페이스 (Namespace)

네임스페이스는 특정 테넌트 아래의 토픽들을 가상으로 묶은 그룹이에요. my-tenant/my-namespace 같은 문자열 이름으로 정의돼요.

Pub-Sub

Pub-sub은 프로듀서 프로세스가 토픽에 메시지를 게시(publish)하면 컨슈머 프로세스가 이를 소비(처리)하는 메시징 패턴이에요.

리더 (Reader)

Pulsar 리더는 컨슈머와 매우 유사한 메시지 프로세서지만 두 가지 중요한 차이가 있어요.

  • 토픽의 어디에서부터 처리를 시작할지 지정할 수 있어요. (컨슈머는 항상 가장 최신의 확인되지 않은(acked) 메시지부터 시작해요.)
  • 리더는 데이터를 보유(retain)하지 않고 메시지를 확인(acknowledge)하지도 않아요.

커서 (Cursor)

커서는 컨슈머의 구독 위치(subscription position)를 뜻해요.

미확인 (Unacknowledged)

미확인은 컨슈머에게 처리 목적으로 전달됐지만 컨슈머가 아직 처리 완료로 확인하지 않은 메시지를 의미해요.

보존 정책 (Retention Policy)

보존 정책은 이미 확인(acknowledged)메시지의 보존을 구성하기 위해 네임스페이스에 설정할 수 있는 크기·시간 제한이에요.

멀티 테넌시 (Multi-Tenancy)

멀티 테넌시는 네임스페이스를 격리하고, 할당량(quota)을 지정하며, 테넌트별로 인증과 권한 부여를 구성할 수 있는 기능이에요.

장애 도메인 (Failure Domain)

장애 도메인은 Pulsar 클러스터 아래의 논리적 도메인이에요. 각 논리적 도메인은 미리 구성된 브로커 목록을 포함해요.

안티-어피니티 네임스페이스 (Anti-Affinity Namespaces)

안티-어피니티 네임스페이스는 서로 안티-어피니티(anti-affinity) 관계를 가지는 네임스페이스들의 그룹이에요.

아키텍처 (Architecture)

Standalone

Standalone은 모든 구성 요소가 단일 JVM(Java Virtual Machine) 프로세스에서 실행되는 경량 Pulsar 브로커예요. 단일 머신에서 실행할 수 있고 개발 목적으로 유용해요.

토픽 룩업 (Topic Lookup)

토픽 룩업은 Pulsar 브로커가 제공하는 서비스로, 연결하는 클라이언트가 어떤 클러스터가 해당 토픽을 담당하는지(즉 토픽의 메시지 트래픽이 어디로 라우팅돼야 하는지) 자동으로 판단할 수 있게 해줘요.

디스패처 (Dispatcher)

디스패처는 Pulsar 브로커 안팎의 모든 데이터 전송에 사용되는 비동기 TCP 서버예요. Pulsar 디스패처는 모든 통신에 커스텀 바이너리 프로토콜을 사용해요.

브로커 (Broker)

브로커는 메시지를 수신하고, 확인하며, 컨슈머에게 전달하는 Pulsar 서버예요. Pulsar 클러스터는 하나 이상의 브로커를 가질 수 있어요.

저장소 (Storage)

부키 (Bookie)

부키는 개별 BookKeeper 서버의 이름이에요. 사실상 Pulsar의 스토리지 서버라고 볼 수 있어요.

더 알아보기 (Learn more)