在 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+。
Apache Pulsar GitHub 主倉庫 Star 數量增長圖
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 提供統一的資料訪問層。
相關閱讀
- 直播回顧| TGIP-CN 035: Apache Pulsar 動手實戰第二期:容器部署實戰
- 直播回顧 | TGIP-CN 034:RoP 的前世今生(附視訊與 PPT)
- Apache Pulsar 2021 年度盤點
關於 StreamNative
StreamNative 是一家開源基礎軟體公司,由 Apache 軟體基金會頂級專案 Apache Pulsar 創始團隊組建而成,圍繞 Pulsar 打造下一代雲原生批流融合資料平臺。StreamNative 作為 Apache Pulsar 商業化公司,專注於開源生態和社群構建,致力於前沿技術領域的創新,創始團隊成員曾就職於 Yahoo、Twitter、Splunk、EMC 等知名大公司。
點選觀看 TGIP-CN 直播合集