Apache Pulsar

Apache Pulsar

Apache Pulsar 是 Apache 軟體基金會頂級項目,是下一代雲原生分散式訊息流平台,集訊息、存儲、輕量化函式式計算為一體,採用計算與存儲分離架構設計,支持多租戶、持久化存儲、多機房跨區域數據複製,具有強一致性、高吞吐、低延時及高可擴展性等流數據存儲特性,被看作是雲原生時代實時訊息流傳輸、存儲和計算最佳解決方案,截至 2021 年 3 月全球貢獻者超過 380 位。

基本介紹

  • 軟體名稱:Apache Pulsar
  • 軟體平台:跨平台
  • 最近更新時間:2022年4月9日
  • 軟體語言:Java
  • 開發商Apache軟體基金會
  • 軟體授權Apache License 2.0
  • 軟體版本:2.10.0
產生背景,主要功能,生態項目,客戶端,管理工具,

產生背景

Pulsar 誕生於 2012 年,最初的目的是為在 Yahoo 內部,取代其他訊息系統,構建統一邏輯大集群的訊息平台。當時的其他訊息系統(包括 Kafka),都不能滿足 Yahoo 的需求,比如大集群多租戶、穩定可靠的 IO 服務質量、百萬級 Topic、跨地域複製等,因此 Pulsar 應運而生。
Pulsar 項目當時在 Yahoo 內部被叫做 CMS(Cloud Message Service),從名字可以看出 Pulsar 誕生時就堅定了雲的方向。2015 年,Pulsar 完成了在 Yahoo 內部的部署和替換,大規模部署在 Yahoo 內部, 服務於 Yahoo mail、 Yahoo Finance、 Yahoo Sports/ Flickr 及廣告平台等大規模的場景。2017 年 6 月 Pulsar 被捐贈給 Apache 基金會,2018 年 9 月 Apache Pulsar 畢業成為 Apache 軟體基金會頂級項目。
Apache Pulsar 為開源軟體,原始碼公開。

主要功能

支持多租戶
租戶和命名空間(namespace)是 Pulsar 支持多租戶的兩個核心概念。在租戶級別,Pulsar 為特定的租戶預留合適的存儲空間、套用授權與認證機制。在命名空間級別,Pulsar 有一系列的配置策略(policy),包括存儲配額、流控、訊息過期策略和命名空間之間的隔離策略。
靈活的訊息系統
Pulsar 做了佇列模型和流模型的統一,在 Topic 級別只需保存一份數據,同一份數據可多次消費。以流式、佇列等方式計算不同的訂閱模型大大提升了靈活度。
雲原生架構
Pulsar 使用計算與存儲分離的雲原生架構,數據從 Broker 搬離,存在共享存儲內部。上層是無狀態 Broker,複製訊息分發和服務;下層是持久化的存儲層 Bookie 集群。Pulsar 存儲是分片的,這種構架可以避免擴容時受限制,實現數據的獨立擴展和快速恢復。
跨地域複製
Pulsar 原生支持跨地域複製,因此 Pulsar 可以跨不同地理位置的數據中心複製數據。當數據中心中斷或網路分區時,在多個數據中心存有訊息副本尤為重要,提高可用性。
Pulsar Functions
Pulsar Functions 是基於 Pulsar 的輕量級流處理方式。Pulsar Functions 直接部署在 broker 節點上(或作為 Kubernetes 集群中的容器)。通過 Pulsar Functions,Pulsar 可以直接解決許多流處理任務,簡化操作。

生態項目

  • Pulsar Adapters
  • Pulsar Connectors
  • Pulsar SQL (Pulsar Presto Connector)

客戶端

  • Java 客戶端
  • C++ 客戶端
  • .Net/C# 客戶端
  • Go 客戶端
  • NodeJS 客戶端
  • Ruby 客戶端

管理工具

Pulsar Manager,為 Apache Pulsar 管理提供了一種圖形化界面管理工具。

相關詞條

熱門詞條

聯絡我們