비영구 메시징

비영구 메시징 (Non-persistent Messaging)

기본적으로 Pulsar는 모든 미확인 메시지를 여러 bookie에 영구 저장하지만, 메시지를 디스크에 전혀 저장하지 않고 메모리에만 두고 싶을 때도 있어요. 그럴 때 사용하는 것이 비영구 토픽이에요. 이 글에서는 비영구 토픽의 개념, 활성화 방법, CLI로 관리하는 방법을 정리해 드릴게요.

출처: 문서

본문

이 쿡북은 다음을 제공해요:

  • 비영구 토픽의 기본 개념 개요
  • 비영구 토픽과 관련된 구성 가능한 파라미터 정보
  • 비영구 토픽을 관리하는 CLI 인터페이스 가이드

개요

기본적으로 Pulsar는 모든 미확인 메시지를 여러 bookie(저장 노드)에 영구 저장해요. 따라서 영구 토픽의 메시지 데이터는 브로커 재시작과 구독자 페일오버에도 살아남을 수 있어요.

하지만 Pulsar는 비영구 토픽도 지원해요. 비영구 토픽은 메시지가 절대 디스크에 저장되지 않고 메모리에만 사는 토픽이에요. 비영구 전달을 사용할 때 Pulsar 브로커를 죽이거나 토픽의 구독자를 연결 해제하면, 그(비영구) 토픽의 모든 전송 중인 메시지가 손실돼요. 즉 클라이언트는 메시지 손실을 볼 수 있어요.

비영구 토픽의 이름은 이런 형태예요 (이름의 non-persistent을 주목하세요):

non-persistent://tenant/namespace/topic

비영구 토픽에 대한 더 상위 수준의 정보는 개념 및 아키텍처 문서를 보세요.

사용

비영구 토픽을 사용하려면 Pulsar 브로커 구성에서 활성화하고, 상호 작용할 때 이름으로 구분해야 해요. 예를 들어 다음 pulsar-client produce 명령은 스탠드얼론 클러스터의 비영구 토픽에 메시지 하나를 생산해요:

bin/pulsar-client produce non-persistent://public/default/example-np-topic \
  --num-produce 1 \
  --messages "This message will be stored only in memory"

관리 관점에서 비영구 토픽에 대한 더 자세한 가이드는 비영구 토픽 가이드를 보세요.

활성화

Pulsar 브로커에서 비영구 토픽을 활성화하려면 enableNonPersistentTopicstrue로 설정해야 해요. 이것이 기본값이므로, 비영구 메시징을 활성화하기 위해 별도로 조치할 필요는 없어요.

스탠드얼론 모드 구성 스탠드얼론 모드에서 Pulsar를 실행하는 경우에도 동일한 구성 파라미터를 사용할 수 있지만, standalone.conf 구성 파일에 있어요.

브로커에서 비영구 토픽만 활성화하려면 enablePersistentTopics 파라미터를 false로, enableNonPersistentTopics 파라미터를 true로 설정하면 돼요.

CLI로 관리

비영구 토픽은 pulsar-admin non-persistent 명령줄 인터페이스로 관리할 수 있어요. 이 인터페이스로 파티션 비영구 토픽 생성, 비영구 토픽의 stats 가져오기, 네임스페이스 아래의 비영구 토픽 나열 같은 작업을 수행할 수 있어요.

Pulsar 클라이언트와 함께 사용

토픽 유형으로 non-persistent을 사용하는 올바른 토픽 이름을 사용한다는 것 외에는, 비영구 메시징을 사용하기 위해 Pulsar 클라이언트를 변경할 필요가 없어요.

더 알아보기 (Learn more)

  • 메시징 개념 — 비영구 토픽의 상위 수준 개념을 익혀요.
  • 토픽 관리 — 관리 관점에서 비영구 토픽을 다뤄요.
  • 브로커 구성 — enableNonPersistentTopics 같은 파라미터를 확인해요.