1. 程式人生 > >你說未來是Pulsar的,Kafka的時代已經過去了?

你說未來是Pulsar的,Kafka的時代已經過去了?

今天InfoWorld最佳開源資料平臺獎公佈,連續兩年入選的 Kafka 這次意外失手,pulsar取而代之。

pulsar最初由Yahoo開發,並於2016年底開源,現在是Apache軟體基金會的一個孵化器專案。Pulsar在Yahoo的生產環境運行了三年多,助力Yahoo的主要應用,如Yahoo Mail、Yahoo Finance、Yahoo Sports、Flickr、Gemini廣告平臺和Yahoo分散式鍵值儲存系統Sherpa。

pulsar和kafka最顯而易見的區別是,pulsar支援多租戶,有著資產和名稱空間的概念,資產代表系統裡的租戶。假設有一個Pulsar叢集用於支援多個應用程式(就像Yahoo那樣),叢集裡的每個資產可以代表一個組織的團隊、一個核心的功能或一個產品線。一個資產可以包含多個名稱空間,一個名稱空間可以包含任意個主題。

分割槽:pulsar和kafka一樣都支援主題的多分割槽。

持久化:kafka檔案儲存,pulsar採用Apache BookKeeper儲存。這也是pulsar的一個顯著優點,kafka檔案儲存分佈在叢集的各個broker上,一旦broker掛掉或者新的broker加入就會進行副本的leader選舉或者分割槽平衡操作,這樣做會消耗kafka的效能。而pulsar的broker是無狀態的,資料儲存在BookKeeper中,服務和資料是分離的。所以它並不會面臨這種問題,可以隨意進行叢集的調整。此外kafka的broker還要關心儲存量是否超出了自己硬碟的空間。而pulsar不存在這個問題。

釋出的 2.2 版本中,Pulsar 將會引入了 SQL,方便對儲存在 Pulsar 裡面的資料進行 SQL 查詢和分析。Pulsar SQL 藉助 Presto,為用途提供了高效可擴充套件的查詢。這種高效的查詢,主要得益於 Pulsar 底層的儲存系統 Apache BookKeeper。

在 Pulsar 從開源到畢業的這段時間,吸引了不少國內外使用者。目前 Pulsar 的成熟使用者包括 MercadoLibre, Oath, One Click Retail, STICorp, TaxiStartup, Yahoo Japan Corporation 和智聯招聘等。

pulsar看上去很美,而且已經有了實踐去驗證,明天肯定會很光明。但就像kafka一樣,剛剛推出的時候,也是一片驚呼,效能碾壓,不過時至今日也沒有一統江山,每種工具還是都有自己更適合的場景的。所以pulsar肯定也不會一隻獨秀。但不得不說pulsar在設計上太像kafka了,kafka有的它幾乎全部都有。有了pulsar這個強勁的對手後,很期待kafka接下來的發展。

作為程式設計師來說,pulsar的橫空出世,意味著又要多學一門技術了。不過對於掌握了kafka的人來說,pulsar不會很難上手。在研究Java 11的時候,也得騰出點時間好好看看pulsar。當程式設計師不容易,加油幹吧!

大家可以關注我的公眾號:“首席資料師”裡面有很多幹貨文章