Apache Pulsar란 무엇인가요?

눈 덮인 산과 수역 위로 별이 빛나는 밤 하늘

작성자

Alice Gomstyn

Staff Writer

IBM Think

Alexandra Jonker

Staff Editor

IBM Think

Apache Pulsar란 무엇인가요?

Apache Pulsar는 클라우드 기반의 오픈 소스 분산 메시징 및 스트리밍 플랫폼입니다. Apache Kafka는 오랫동안 실시간 이벤트 스트리밍 및 데이터 처리의 표준이었지만 Apache Pulsar는 지난 10년 동안 강력한 대안으로 부상했습니다.

 

기업은 점점 더 복잡해지는 IT 및 데이터 환경에 직면함에 따라 메시징 및 스트리밍 플랫폼에 의존하여 애플리케이션, 시스템 및 서비스 전반에 걸쳐 빠르고 안정적인 데이터 교환을 보장합니다. 실시간 데이터 분석이 실행 가능한 인사이트를 확보하는 데 중요한 동력이 되면서 데이터 스트리밍데이터 처리 속도를 가속화하는 것이 최우선 과제가 되었습니다. 2025년 IDC 데이터에 따르면, 설문 조사에 참여한 기업은 사용 사례의 63%가 유용하게 활용되려면 몇 분 안에 데이터를 처리해야 한다고 밝혔습니다.

Pulsar는 기존 메시징 시스템의 기능과 구독하기 시스템의 기능을 결합하여 마이크로서비스, 인스턴트 메시징 및 데이터 통합과 같은 사용 사례에 특히 적합합니다. Pulsar는 지리적 복제, 다중 테넌시, 계층형 스토리지 등 다양한 기능과 장점을 갖추고 있는 다재다능한 솔루션입니다.

원래 Yahoo에서 개발되어 2016년 Apache Software Foundation에서 오픈 소스로 제공한 Apache Pulsar는 현재 주요 조직에서 하루에 수천억 건의 이벤트를 관리합니다.

전문가의 인사이트를 바탕으로 한 최신 기술 뉴스

Think 뉴스레터를 통해 AI, 자동화, 데이터 등 가장 중요하고 흥미로운 업계 동향에 대한 최신 소식을 받아보세요. IBM 개인정보 보호정책을 참조하세요.

감사합니다! 구독이 완료되었습니다.

구독한 뉴스레터는 영어로 제공됩니다. 모든 뉴스레터에는 구독 취소 링크가 있습니다. 여기에서 구독을 관리하거나 취소할 수 있습니다. 자세한 정보는 IBM 개인정보 보호정책을 참조하세요.

메시징 및 이벤트 스트리밍

Apache Pulsar의 중요성을 이해하려면 메시징 및 이벤트 스트리밍 플랫폼의 작동 방식을 명확하게 파악하는 것부터 시작해야 합니다.

메시징

메시지는 다른 애플리케이션이 사용할 수 있도록 애플리케이션이 생성하는 데이터 패킷입니다. 이러한 패킷은 소비 애플리케이션이 처리할 때까지 전송된 순서대로 사용됩니다.

메시징 시스템은 이러한 메시지의 교환을 용이하게 합니다. 기존 메시징 시스템은 미들웨어 솔루션(메시지 지향 미들웨어 또는 MOM이라고도 함)입니다. 이러한 솔루션은 일반적으로 지점간 메시징과 게시/구독 메시징이라는 두 가지 메시지 배포 패턴을 지원합니다.

지점 간 메시징에서는 한 애플리케이션(발신자라고 함)이 메시지 큐라고 하는 곳에 메시지를 제출하고, 이 큐에 메시지가 저장됩니다. 그런 다음 다른 애플리케이션(수신자 또는 소비자라고 함)이 큐에서 메시지를 수신하고 처리합니다. 각 메시지는 한 번만 소비되어야 합니다.

발행/구독 메시징, 또는 pub/sub 메시징에서 메시지를 생성하는 애플리케이션을 게시자라고 합니다. 이를 사용하는 애플리케이션을 구독자라고 합니다. 각 메시지는 주제라고 하는 카테고리에 게시되며, 해당 주제를 구독하는 모든 애플리케이션은 해당 주제에 게시되는 모든 메시지의 사본을 받습니다.

파티션과 분할된 주제는 메시지 처리를 가속화할 수 있습니다. 분할된 주제에 게시된 메시지는 여러 브로커에 분산됩니다.

Pub/Sub 메시징은 방송 스타일의 '일대다' 커뮤니케이션을 위해 설계되었습니다. 지점 간 메시징은 이름에서 알 수 있듯이 단일 발신자와 단일 수신자 간에 정보를 교환합니다.

기존 메시징 시스템 중에서는 오픈 소스 플랫폼인 RabbitMQ가 가장 인기 있는 것으로 꼽힙니다.

이벤트 스트리밍

이벤트 스트리밍 플랫폼은 애플리케이션, 데이터베이스 및 IoT 디바이스에서 실시간 데이터를 캡처합니다. 그런 다음 즉각적인 처리, 분석 또는 스토리지를 위해 데이터를 다양한 대상으로 전송합니다.

확장성으로 유명한 이벤트 스트리밍 플랫폼은 레코드 스트림을 주제별로 정렬하여 미리 정해진 시간 동안 저장할 수 있습니다. 그러나 기존 메시징 시스템과 달리, 이벤트 스트리밍 플랫폼은 메시지 제공을 보장하거나 어느 소비자가 메시지를 받았는지 추적할 수는 없습니다. 지점 간 메시징 배포보다는 게시/구독 메시징에 의존하며 메시지 라우팅에 대한 유연성이 떨어집니다.

이벤트 스트리밍 플랫폼 중에서 가장 널리 사용되는 것은 Apache Kafka입니다.

AI 아카데미

데이터 관리가 생성형 AI 구현의 비결일까요?

생성형 AI를 성공적으로 사용하기 위해 고품질 데이터가 필수적인 이유를 알아보세요.

Apache Pulsar의 주요 기능

Apache Pulsar는 RabbitMQ 및 Apache Kafka와 같은 플랫폼의 기능을 단일 솔루션으로 결합합니다. Kafka와 같이 이벤트를 스트리밍하고 여러 소비자에게 메시지를 전송할 수 있으며, 대기열을 지원하고 RabbitMQ와 같이 단일 소비자에게 메시지를 전송할 수 있습니다.

그러나 Pulsar는 이전 버전을 합친 것 그 이상입니다. Yahoo는 처음에 자사의 조직적 요구를 해결하기 위해 이 플랫폼을 개발했기 때문에 특정 경쟁 우위가 처음부터 내재되어 있었습니다. 그 이후로 몇 년 동안 다른 개선 사항을 통해 Pulsar는 고성능 메시징 및 스트리밍 플랫폼으로 더욱 향상되었습니다.

현재 Apache Pulsar의 가장 강력한 기능은 다음과 같습니다.

  • 멀티 테넌시
  • 지리 복제
  • 다중 계층 아키텍처
  • 계층형 스토리지
  • IO 커넥터
  • 유연한 구독

멀티 테넌시

멀티테넌시는 Pulsar를 다른 플랫폼과 차별화하는 독창적인 기능 중 하나였습니다. 멀티테넌트 소프트웨어 아키텍처에서는 소프트웨어 애플리케이션(및 기본 데이터베이스 및 하드웨어)의 단일 인스턴스가 여러 테넌트(또는 사용자 계정)를 지원합니다. 멀티테넌시의 이점으로는 간소화된 시스템 설정, 구성, 유지 관리 및 애플리케이션 배포와 비용 절감 등이 있습니다.

Apache Pulsar에서는 여러 팀이 메시징 시스템을 안전하게 공유할 수 있습니다. 각 테넌트에는 고유한 인증, 권한 부여 및 정책이 있습니다. 테넌트는 네임스페이스(주제의 논리적 그룹화)로 알려진 것으로 더 나눌 수 있습니다. 이 부분을 통해 싱글 테넌트 내에서 개발, 스테이징 및 프로덕션과 같은 다양한 환경을 쉽게 지원할 수 있습니다.

지리 복제

원격 위치에 메시지를 복제하는 것은 재해 복구를 지원하거나 애플리케이션이 글로벌 규모로 작동할 수 있도록 하는 데 중요합니다. 다른 플랫폼과 달리 Pulsar는 이 기능을 구동하기 위해 복잡한 구성이나 추가 기능이 필요하지 않습니다.

지리적 복제를 사용하면 애플리케이션이 로컬 Pulsar 클러스터에 연결하면서도 전 세계의 클러스터로 데이터를 전송할 수 있습니다. 프로듀서가 복제된 네임스페이스의 주제에 메시지를 게시하면 해당 메시지는 구성된 원격 지리적 위치로 자동으로 복제됩니다.

다중 계층 아키텍처

Pulsar 아키텍처는 메시지 전달 구성 요소(메시지 브로커)와 메시지 스토리지 계층을 분리합니다. 메시지는 내구성 있는 로그 스토리지 솔루션의 선두 주자로 알려진 Apache BookKeeper에 의해 저장됩니다.

성능을 향상시키기 위해 BookKeeper는 부키라고 하는 여러 서버에 데이터를 분산시킵니다. (BookKeeper 원장에 대한 메타데이터는 Apache ZooKeeper에 저장됩니다.) 필요에 따라 부키를 추가할 수 있어 대량의 데이터를 처리하는 데 적합한 수평적 확장성을 제공합니다. 이 아키텍처를 통해 Pulsar는 짧은 시간 안에 많은 양의 데이터를 전송하는 동시에 낮은 지연 시간을 제공할 수 있습니다. 이를 높은 처리량이라고 합니다.

Pulsar의 아키텍처는 클라우드 네이티브 아키텍처로도 간주됩니다. Pulsar와 클라우드 컴퓨팅 모두 컴퓨팅과 스토리지를 분리합니다. 또한 Pulsar는 최신 클라우드 인프라의 구성 요소인 오픈 소스 컨테이너 오케스트레이션 플랫폼인 Kubernetes에 배포할 수 있습니다.

계층형 스토리지

Apache Pulsar에는 계층형 스토리지도 있습니다. 이 기능을 사용하면 오래된 백로그 데이터를 Apache BookKeeper에서 스토리지로 이동하는 동시에 Pulsar 클라이언트가 백로그에 액세스할 수 있습니다.

Pulsar 계층형 스토리지는 Apache jclouds(Java 플랫폼용 오픈 소스 멀티 클라우드 툴킷)를 사용하여 AWS S3(Amazon S3), GCS(Google Cloud Storage), Azure 및 Aliyun과 같은 솔루션을 통해 장기 스토리지를 지원합니다.

IO 커넥터

Apache Pulsar는 Pulsar IO 커넥터 덕분에 외부 시스템에서 쉽게 사용할 수 있습니다. 이러한 커넥터는 Pulsar와 스트림 처리 엔진, 데이터 파이프라인 API 및 기타 메시징 플랫폼과 같은 다른 시스템 간의 브리지 역할을 합니다.

Pulsar 커넥터는 소스와 싱크의 두 가지 유형으로 제공됩니다. 소스 커넥터는 외부 시스템에서 Pulsar로 데이터를 전송하는 반면, 싱크 커넥터는 그 반대로 Pulsar에서 외부 시스템으로 데이터를 전송합니다. 일반적으로 사용되는 Pulsar 커넥터로는 MySQL, MongoDB, Cassandra, RabbitMQ, Kafka, Flume, Redis가 있습니다.

유연한 구독

Apache Pulsar는 사용자가 메시징 패턴을 구성할 수 있도록 네 가지 구독 유형1을 지원합니다.

  • 독점: 구독을 통해 한 명의 소비자만 메시지를 받을 수 있습니다.

  • 장애 조치: 지정된 기본 소비자에게 메시지 전송이 실패하면 메시지는 대신 대기 소비자에게 전송되어 처리됩니다.

  • 공유: 메시지는 여러 소비자가 메시지를 수신하는 "라운드 로빈" 방식으로 전달되지만 각 메시지는 하나의 소비자에게 전달됩니다.

  • 키 공유: 메시지는 관련 메시지의 상관 관계를 연결하는 데 도움이 되는 메시지 키에 할당됩니다. 동일한 키를 가진 메시지는 특정 순서로 소비자에게 전송됩니다.

Apache Pulsar의 추가 기능

기타 주목할만한 Pulsar 기능은 다음과 같습니다.

브로커 로드 밸런싱: Pulsar는 Pulsar 브로커의 CPU, 메모리 및 네트워크 사용량을 모니터링하고 필요에 따라 워크로드를 이동하여 균형을 최적화하고 개별 브로커에 과부하가 걸리지 않도록 합니다.

스키마 레지스트리: Pulsar의 스키마 레지스트리를 통해 Pulsar 클라이언트는 주제별로 데이터 스키마를 업로드하여 제작자와 소비자가 호환되는 메시지 형식을 사용하도록 할 수 있습니다.

클라이언트 라이브러리: 클라이언트 라이브러리는 애플리케이션과 API, 데이터베이스 및 서비스 간의 상호 작용을 단순화하는 사전 구축된 함수 및 절차입니다. Pulsar는 프로그래밍 언어별 라이브러리(Java, C++, Python, Node.js용 라이브러리 포함)와 언어 비종속 라이브러리(REST, WebSocket)를 지원합니다.

메시지 보존: 기존 시스템은 메시지를 소비하면 삭제합니다. Pulsar를 사용하면 사용자가 메시지를 사용한 후에도 메시지를 저장하도록 보존 정책을 설정할 수 있으며, 이는 이벤트 기반 아키텍처 모델을 지원할 수 있는 기능입니다.

Apache Pulsar 사용 사례

Apache Software Foundation의 다음 사용 사례는 Apache Pulsar의 유용성과 다양성을 설명하는 데 도움이 됩니다.2

메시징 플랫폼 통합

Apache Pulsar는 여러 메시징 사용 사례(메시지 대기열 및 스트리밍 포함)와 멀티 테넌시를 지원하여 여러 팀에서 가장 적합한 방식으로 사용할 수 있기 때문에 기업이 메시징 기술 통합을 추진하기로 결정할 때 종종 선택하는 플랫폼입니다.

미션 크리티컬 애플리케이션을 위한 장애 복원력

금융 거래와 같은 중요한 애플리케이션의 데이터 손실 가능성을 최소화하려는 기업은 장애 복원력 기능을 위해 Apache Pulsar를 활용할 수 있습니다. 즉, Pulsar를 통해 제공되는 메시지는 여러 BookKeeper 노드에 복제됩니다. 또한 하드웨어에 장애가 발생해도 메시지가 손실되지 않습니다.

마이크로서비스 통신

Apache Pulsar는 간접 API 호출을 통해 마이크로서비스 간에 필요한 지속적인 통신을 지원합니다. 서비스는 다른 서비스가 구독 중인 주제에 메시지를 보낼 수 있습니다. 다른 메시징 시스템도 이 기능을 제공할 수 있지만, Pulsar의 수평적 확장성은 대량의 요청을 수용하기 위해 몇 분 안에 플랫폼을 확장할 수 있다는 점에서 차별화됩니다.

작업 큐 지원

메시징 시스템은 일반적으로 애플리케이션의 성능을 저해하지 않으면서 백그라운드 작업의 비동기 실행을 구성하는 작업 대기열을 지원합니다. Apache Pulsar는 여러 소비자에게 메시지를 배포하는 공유 구독과 작업 완료를 확인하는 메시지 승인 기능을 통해 작업 대기열 시스템을 지원합니다.

관련 솔루션
IBM StreamSets

직관적인 그래픽 인터페이스를 통해 스트리밍 데이터 파이프라인을 생성하여 하이브리드 및 멀티클라우드 환경 전반에서 완벽한 데이터 통합을 촉진합니다.

StreamSets 살펴보기
IBM watsonx.data™

watsonx.data를 사용하면 오픈, 하이브리드 및 관리형 데이터 저장소를 통해 데이터의 위치와 관계없이 모든 데이터로 분석과 AI를 확장할 수 있습니다.

watsonx.data 알아보기
데이터 및 분석 컨설팅 서비스

IBM Consulting을 통해 엔터프라이즈 데이터의 가치를 실현하여 비즈니스 이점을 제공하는 인사이트 중심의 조직을 구축하세요.

분석 서비스 알아보기
다음 단계 안내

탁월한 고객 및 직원 경험을 제공하기 위해 데이터 사일로를 제거하고, 복잡성을 줄이며, 데이터 품질을 개선하는 데이터 전략을 구축하세요.

데이터 관리 솔루션 살펴보기 watsonx.data 알아보기
각주

"메시징." The Apache Software Foundation. 2025년 8월 4일에 확인함.

"Pulsar 사용 사례." The Apache Software Foundation. 2025년 8월 4일에 확인함.