直播回顧|TGIP-CN 036:Apache Pulsar 最新技術進展與動態

ApachePulsar發表於2022-03-31

在 3 月 13 日舉辦的 TGIP 活動上,Apache Pulsar PMC 成員、StreamNative 聯合創始人翟佳與大家一起回顧了 Apache Pulsar 在 2021 年所取得的成績和進展,並深入解讀了 2022 年 Pulsar 的技術發展方向和社群動態。本文為該期 TGIP《預見 2022!Apache Pulsar 技術進展與社群動態》直播文字整理版本。

回顧視訊可掃碼 ???

回顧 2021──Apache Pulsar 成績豐碩

2021 年是 Apache Pulsar 成為 ASF 頂級專案的第三週年,Apache Pulsar 在 2021 年飛速發展:社群迎來了第 400 位貢獻者,月度活躍貢獻者超越 Kafka,在 GitHub Star 的 Star 突破 10,000+

image.png
Apache Pulsar GitHub 主倉庫 Star 數量增長圖

image.png
Apache Pulsar 月度活躍貢獻者數量趕超 Kafka

10,000+ 名關注者分散在全球 5700 多個地區,其中歐洲和北美較多,非洲、南美洲也都有分佈。


Apache Pulsar 的關注者來自世界各地

而在 Apache 社群中,Pulsar 的表現同樣非常活躍,在 Apache 基金會年度活躍 Commit 專案中排名前五

在 Pulsar 成為 ASF 頂級專案三週年後的 2021 年,Pulsar 的“幕後推手” StreamNative 也被 InfoWorld 評為最佳開源軟體公司

聚焦專案與社群本身,2021 年 Apache Pulsar 同樣收穫頗豐。謹遵“ Apache 之道”,Apache Pulsar 在專案管理委員會中投票產生了4 位 PMC 成員和 16 位 Committer,這些成員同樣分佈在全球各地。在版本迭代上,Pulsar 持續進行版本釋出,2021 年共進行了 7 次版本釋出。其中在 2.8.0 版本中, Pulsar 事務功能正式可用,可以幫助使用者實現精確一次語義,在跨 Topic 場景下保障了訊息生產和確認的原子性操作。

此外,在上下游生態建設上,Pulsar 也在持續豐富與健壯,如在 Pulsar Flink Connector - Source 、Sink 已合併進入 Flink 上游;StreamNative 主導或聯合合作伙伴開源多項周邊專案,包括 Function Mesh、SQS Connector、AMQP 1.0 Connector 以及 RoP 等。

與此同時,Pulsar 社群的各類活動也積極展開:

  • 多地(北京、廣州、深圳等)舉辦了 Pulsar 2.8.0 Release Party;
  • 定期舉行月度開發者與使用者組會議;
  • 在北京、上海、杭州、廣州和深圳等地進行線上線下的 Meetup;
  • 舉辦了三場線上 Pulsar Summit,覆蓋了北美、歐洲與亞洲,共計討論議題 90+,其中亞洲峰會報名 1K+,直播觀看 4W+。在峰會中,Apache Pulsar PMC 成員對 Pulsar 未來的發展路線進行了詳盡解讀,並展示了各行業場景使用者如何使用 Pulsar 來解決自身痛點的實踐和探索。

上述社群活動的相關內容均可在 B 站和 Youtube 上訂閱瀏覽。

圖書與教程方面,2021 年出版了首本中文 Apache Pulsar 圖書,由 Apache Pulsar PMC 成員林琳撰寫並正式出版。此外,StreamNative 還與傳智教育旗下黑馬程式設計師社群合作釋出了 Apache Pulsar 中文視訊教程,在 B 站可以免費瀏覽和學習

當然,Apache Pulsar 社群的不斷髮展壯大,離不開各行業公司的持續關注和積極參與。在 Pulsar Summit Asia 2021 年,我們也釋出了兩大獎項:先鋒獎與優秀案例獎,其中 翼支付、拉卡拉評為先鋒獎項,金山雲、滴滴、知乎、微信、中國移動雲能力中心、伴魚、科拓停車、騰訊雲中介軟體、FATE 被評為年度優秀案例獎項。

Apache Pulsar 2.10 重要特性

在即將釋出的 Apache Pulsar 2.10 版本中,功能迭代和效能優化均取得了較大進展,上線了包括外掛化後設資料服務支援、自動化叢集故障轉移、全域性 Topic policy 支援、外掛化訊息過濾擴充套件、Redelivery backoff、Chunk message ID、Table view 以及 Lazy loading producer 等多項功能模組。

外掛化後設資料服務方面,Pulsar 一直與 ZooKeeper 有著緊密的結合,但 ZooKeeper 在面對超大規模的使用者時,會出現大併發和訪問壓力等問題。

在社群探索過程中,希望後設資料的服務可以更加原生化,從而更好地解決使用者在後設資料層所遇到的問題。目前,使用者可以切換成 Etcd 或者其他後設資料的服務;而在 Pulsar 內部,所有的 API 基本都已完成,並在持續的優化和改進過程中。

自動化叢集故障轉移方面,Pulsar 具備跨地域複製、多叢集互聯互備的功能,但在互聯互備的過程中可能會出現一些問題。對於單個叢集,在 Pulsar 的 Cluster 端提供了多種方式讓使用者訪問多個叢集的多個 Broker 服務,而在多叢集的情況下,使用者通常使用 DNS 的方式,但都不夠自動化。所以社群在 Cluster 端,結合 Broker 的特性做了優化,讓叢集的切換更加自動化。

從 2.9 到 2.10,StreamNative 投入了極大精力在系統穩定性和關鍵場景效能方面做了諸多優化。這些功能的迭代和效能的提升,也會通過社群公眾號文章/報告的方式進行總結髮布,同樣還會在發版的 Blog 中為大家進行詳細介紹。大家可預約 3 月 27 日 TGIP 直播 ,由 Pulsar PMC 成員李鵬輝詳解 Pulsar 2.10.0 關鍵特性。

周邊生態規劃:聯結器&協議外掛

早在 2018 年從 Apache 軟體基金會畢業前夕,Pulsar 就已經具備了良好的雲原生和資料管道儲存的基礎。

很多社群使用者就在此基礎上進行積極探索,例如在資料管道方面與其他大資料生態做整合、與計算引擎做整合。所以,周邊生態一直是 Pulsar 從 Apache 軟體基金會畢業後,投入極大精力去建設和發展的一項內容。在今年的規劃中,Pulsar 的生態建設主要包含兩大內容,即周邊聯結器與協議外掛。

在聯結器方面, StreamNative 主導了 Pulsar 與 Snowflake 的整合,支援將資料 Sink 至 Snowflake;與 Lakehouse 技術架構進行整合,與 Flink 社群進行 Source 及 Sink 的合併。

在與 Lakehouse 的整合中,StreamNative 首先通過 Connector 的方式讓使用者更便捷地將 Pulsar 的資料與 Lakehouse 的資料格式快速打通,可以讓資料在 Pulsar、Hudi 和 Iceberg 之間互通流轉,讓現有的生態使用者實現直接對接。

其次是通過 Pulsar 內部二次儲存的方式,把 Pulsar 中的資料直接自動轉換成 Hudi 或者 Iceberg 所需的格式,真正讓使用者使用 Pulsar 的批流融合特性。通過為使用者呈現統一的資料檢視,從而減少使用者在面臨新資料技術整合時所遇到的問題。

而在協議外掛方面,StreamNative 通過 Pulsar 內嵌的各種服務端協議解析來方便使用者與現有的應用程式打通,KoP、MoP 以及 AoP 就是這其中的代表。

其中,KoP(Kafka on Pulsar)是 StreamNative 在協議外掛中的第一次探索

在 Kafka 和 Pulsar 中都有一個共同的抽象,即認為底層的 Topic 就是一個 log,而這種抽象在上層的很多設計中也都類似,這讓 Kafka on Pulsar 的實現變得簡單可行。對於 Kafka 而言,底層依賴於檔案系統做資料的儲存和 log 的抽象;而對於 Pulsar 的底層而言,則是用 BooKkeeper 來做 log 的抽象和實現。KoP 目前是社群中使用最多的一個協議外掛,未來將在穩定性、事務支援以及更完善的運維工具等方面進行持續改善和優化。

MoP(MQTT on Pulsar)則是 Pulsar 對於 MQTT 的支援。目前,社群中很多使用者都緊跟 MoP 的步伐,將其運用在自己的線上系統中。未來 MoP 會加入對於不同版本 MQTT 和 SQS 的支援,著力發展穩定性和多協議支援。

AoP(AMQP on Pulsar),即 Pulsar 對於 AMQP 的支援。當前已經有使用者線上上部署了 AoP,為 AMQP 提供服務支援。未來,社群將根據使用者的需求,對 AMQP 1.0 做更多支援,持續優化 AoP 的擴充套件性、可讀性以及可維護性。

2022 年 Apache Pulsar 社群活動展望

聚焦今年,Pulsar 在 2022 年計劃推進的各類社群活動依然精彩紛呈:

  • Release Party: 新版本釋出慶祝活動的舉辦,不但可以對參與版本釋出的貢獻者進行感謝,還可以讓大家針對新版本內容進行深入解讀與互動討論;
  • 線上線下 Meetup: 疫情可控後 Meetup 將會覆蓋更多的城市與地區,讓開發者們與 Pulsar 貢獻者進行面對面的溝通和交流;
  • 中文開發者與使用者組月度會議 會議於每月最後一週週三定期舉行,在按需進行會議組織的基礎上覆蓋更多的方向,進行更精細化的運營,以提升溝通效率;
  • Pulsar Summit 2022: 2022 年,歐洲峰會將與北美峰會合併為 Global 峰會,並於 8 月舉行,而亞洲峰會將於 11 月舉行,視疫情情況確定線上/線下。

在圖書與教程方面,2022 年將翻譯並引進更多優秀的國外書籍。其中 《Apache Pulsar In Action》已由圖靈圖書引進,預計將於今年出版;《Mastering Apache Pulsar》已由博文視點引進,同樣預計將於今年出版。此外,還會通過社群資源的相關渠道(微信公眾號、B 站、郵件列表、Slack 以及 GitHub),釋出更多有關於 Pulsar 的線上教程。

面向 2022 年,無論是 Apache Pulsar 還是 StreamNative 都希望各位開發者和社群的關注者們可以提出更多的意見,發出更多的聲音,一起交流共創,讓 Pulsar 解決更多行業的痛點,一起預見更美好的 2022。

QA 精選

Q:在大資料方面,使用 Pulsar 替代 Kafka 主要優勢在哪些方面?需要注意什麼?

A:Pulsar 與 Kafka 相比,兩者的架構完全不一樣。Pulsar 自誕生之日起就是以雲原生為方向的訊息平臺,以 MQ 和資料管道為發展重點。對 MQ 和資料管道應用場景的統一,在雲原生方向上更便捷的管理和排程、更輕的運維都是 Pulsar 的主要優勢。與此同時,在一致性、批流融合上的儲存特性、大叢集能力、跨地域複製、公有云和私有云的打通和互聯互備、與雲上的儲存資源做對接等都是 Pulsar 的優勢所在。

Q:社群是否有將 Pulsar 和資料湖、Hudi 和 Iceberg 整合的計劃?

A:第一步的計劃是以 Connector 的方式讓資料在 Pulsar、Hudi 和 Iceberg 之間相互流轉;第二步將通過 Pulsar 的二級儲存把 Pulsar 的資料通過使用者的設定,自動遷移成 Hudi 或者 Iceberg 的格式,並通過 Pulsar 提供統一的資料訪問層。

相關閱讀

關於 StreamNative

StreamNative 是一家開源基礎軟體公司,由 Apache 軟體基金會頂級專案 Apache Pulsar 創始團隊組建而成,圍繞 Pulsar 打造下一代雲原生批流融合資料平臺。StreamNative 作為 Apache Pulsar 商業化公司,專注於開源生態和社群構建,致力於前沿技術領域的創新,創始團隊成員曾就職於 Yahoo、Twitter、Splunk、EMC 等知名大公司。

點選觀看 TGIP-CN 直播合集

相關文章