Apache Pulsar 2.1 重磅發(fā)布

今天Apache Pulsar正式發(fā)布了2.1.0版本!距離2.0版本的發(fā)布,相距不到兩個月的時間。在這短短兩個月的時間內蜕便,社區(qū)的貢獻非常迅猛。2.1版本包含了很多新的特性和改進贩幻,這些改進幫助Pulsar從一個分布式消息系統(tǒng)演進成一個完整的流原生(Stream Native)實時數(shù)據(jù)平臺轿腺。

在這個版本中,你可以看到以下幾個重要特性:

Pulsar IO: 一套基于Pulsar Functions實現(xiàn)的無服務器化的連接器(Connectors)框架丛楚,以及一組內置的連接器實現(xiàn)

Tiered Storage: 層級存儲

Stateful Functions: 狀態(tài)函數(shù)

Clients:Go語言客戶端

Schema: 支持Avro 和 Protobuf

Pulsar IO

在Pulsar 2.0版本中族壳,我們首次引入了Pulsar Functions,一套基于無服務器化(Serverless)的輕量級計算框架趣些。這套計算框架為用戶提供了最為簡便的方式進行流計算邏輯的編寫仿荆。自從Pulsar Functions發(fā)布之后,社區(qū)的反響程度十分熱烈喧务,很多社區(qū)的用戶非常喜歡這個特性赖歌。因為使用它的學習成本基本為零枉圃,只要能寫Java或者Python的函數(shù)功茴,就可以編寫在Pulsar進行流計算的邏輯。

我們將這種極簡至上(simplicity first)的理念延續(xù)在開發(fā)Pulsar 2.1的過程中孽亲。我們在Pulsar Functions上實現(xiàn)了一套無服務器化的連接器(Connectors)框架Pulsar IO坎穿,用來簡化用戶導入數(shù)據(jù)到Pulsar和從Pulsar中導出數(shù)據(jù)。用戶在使用連接器的時候返劲,不需要編寫任何的代碼玲昧。你所需要做的事情只是準備一個關于你需要連接的系統(tǒng)的配置文件,然后就可以使用Pulsar提供的管理工具向Pulsar提交相應的連接器篮绿。Pulsar就會負責剩下的事情孵延,包括容錯管理,負載均衡亲配,隨著負載自動伸縮擴容尘应。

另外,2.1版本包含六個內置的連接器實現(xiàn)吼虎。他們分別是:

Aerospike連接器

Cassandra連接器

Kafka連接器

Kinesis連接器

RabbitMQ連接器

Twitter Firehose連接器

你可以參考Pulsar 2.1的教程來學習使用Cassandra連接器犬钢,將數(shù)據(jù)從Pulsar導出到Cassandra里。

我們計劃在未來的發(fā)布版本中包含更多的連接器實現(xiàn)思灰。如果你對Pulsar感興趣玷犹,想成為Pulsar的代碼貢獻者,我們十分歡迎你為Pulsar開發(fā)不同的連接器洒疚。開發(fā)連接器也十分簡單歹颓,跟編寫一個Pulsar函數(shù)進行流處理一樣簡單坯屿。

層級存儲

相比于其他消息/流系統(tǒng),Apache Pulsar最大的優(yōu)勢是它基于Apache BookKeeper的分塊存儲(Segment Storage)架構巍扛。在Pulsar里面愿伴,一個主題分區(qū)(Topic Partition,或者稱為一個流)會被切分成分塊(Segments)存儲在BookKeeper里面电湘。這就意味著隔节,一個主題分區(qū)的容量不受限于單臺機器的容量。只要整個集群有足夠的容量寂呛,你就可以往一個主題分區(qū)里面無限追加數(shù)據(jù)怎诫。如果你的集群開始沒有容量,你只需簡單地往集群里面添加存儲節(jié)點即可贷痪,Pulsar就會開始自動使用新的存儲節(jié)點幻妓,而不需要重新均衡已有的數(shù)據(jù)分區(qū)。但是劫拢,如果一直在BookKeeper里面累積存儲歷史數(shù)據(jù)肉津,那么整個集群的開銷就會變得昂貴。

Pulsar通過提供層級存儲(Tiered Storage)的方式來解決容量和開銷的權衡舱沧。層級存儲通過將老的數(shù)據(jù)分塊從BookKeeper卸載到更廉價的存儲系統(tǒng)(比如AWS S3, Google GCS和HDFS)妹沙,從真正意義上把Pulsar變成了真正的無限數(shù)據(jù)流(Infinite Streams)存儲。對于終端用戶而言熟吏,他們不需要知道數(shù)據(jù)是存儲在BookKeeper還是存儲在更廉價的存儲系統(tǒng)中距糖,整個流程對用戶是透明的。這也意味著用戶主要編寫一套代碼即可同時消費最新的流數(shù)據(jù)和歷史數(shù)據(jù)牵寺。

目前2.1版本只支持S3悍引。在未來的2.2版本中,我們即將支持更多的云存儲帽氓,比如Google GCS趣斤,Azure Blobstore和HDFS。如果你對層級存儲感興趣黎休,也想貢獻對其他云存儲的支持浓领,我們也十分歡迎來自你的代碼貢獻。

狀態(tài)函數(shù)

流計算中最充滿挑戰(zhàn)的一個問題是解決狀態(tài)(State)的管理奋渔。Pulsar Functions也面臨同樣的問題镊逝。我們開發(fā)Pulsar Functions的初衷就是為開發(fā)者簡化編寫原生流處理的邏輯。我們同樣也希望簡化流計算中的狀態(tài)的管理嫉鲸。因為在2.1版本中撑蒜,我們引入了狀態(tài)(State)API,開發(fā)者可以使用狀態(tài)API來將計算的一些狀態(tài)存儲到底層的存儲系統(tǒng)中。這套狀態(tài)API跟Apache BookKeeper的表服務進行了深入的整合座菠。目前支持簡單的key/value操作以及對于計數(shù)支持的inc操作狸眼。

狀態(tài)函數(shù)在2.1版本中作為一個開發(fā)者預覽(Developer Preview)特性發(fā)布。我們希望通過收集社區(qū)的意見完善出一套真正簡化流計算狀態(tài)管理的API浴滴。如果你有好的想法和建議拓萌,歡迎通過Pulsar的郵件列表,Github或者Slack來跟我們交流升略。

Schema

在2.0版本中微王,Pulsar引入了對Schema的原生支持。這意味著你可以在創(chuàng)建Pulsar主題的時候定義消息相應的Schema品嚣,然后Pulsar會根據(jù)你指定的Schema保證發(fā)布消息的完整性炕倘。2.0版本只支持String,Bytes和JSON三種內置Schema翰撑。從2.1版本開始罩旋,Pulsar原生支持Avro和Protobuf這兩種類型。

Schema將Pulsar從一個只支持非結構化數(shù)據(jù)的消息系統(tǒng)變成了也支持結構化數(shù)據(jù)的流數(shù)據(jù)平臺眶诈。在接下來的2.2版本中涨醋,Schema將作為最重要的基石組件用來實現(xiàn)流數(shù)據(jù)的可查詢化,也就是傳說中的Pulsar SQL逝撬。

客戶端

在2.1發(fā)布版本中浴骂,我們正式發(fā)布了官方的Go語言客戶端。該Go語言客戶端是基于原生的C++客戶端實現(xiàn)球拦,所以是一個直接用在生產(chǎn)線上的客戶端實現(xiàn)靠闭。除了官方原生的客戶端,Comcast也在這段時間發(fā)布了他們使用原生Go語言編寫的用在生產(chǎn)線上的客戶端坎炼。

結語

Apache Pulsar是Yahoo開源的下一代消息系統(tǒng)。在2017年初拦键,Yahoo將Pulsar貢獻給Apache進行孵化谣光。在過去一年的時間內,Apache Pulsar一共發(fā)布了6個版本芬为,其中包括在六月份發(fā)布的2.0里程碑萄金。最新的2.1版本延續(xù)Pulsar極簡至上的原則,從真正意義上將Pulsar由一個分布式消息系統(tǒng)演變成一個完整的流原生數(shù)據(jù)平臺媚朦。在未來一個月氧敢,也就是2.2版本中,我們將會有更多強悍的特性發(fā)布询张。歡迎關注和參與到Pulsar社區(qū)孙乖。

Pulsar 2.1的下載鏈接:https://pulsar.incubator.apache.org/en/download/

Pulsar的項目鏈接:https://pulsar.incubator.apache.org/

Pulsar的Github代碼庫:https://github.com/apache/incubator-pulsar

Pulsar的Slack Channel:https://apache-pulsar.herokuapp.com/

Pulsar的郵件列表:https://pulsar.incubator.apache.org/contact/

原文鏈接

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市唯袄,隨后出現(xiàn)的幾起案子恋拷,更是在濱河造成了極大的恐慌宴偿,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡穆趴,警方通過查閱死者的電腦和手機未妹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門化戳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掠廓,你說我怎么就攤上這事沉颂。” “怎么了?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵椰于,是天一觀的道長蜻牢。 經(jīng)常有香客問我,道長偏陪,這世上最難降的妖魔是什么抢呆? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮笛谦,結果婚禮上抱虐,老公的妹妹穿的比我還像新娘。我一直安慰自己饥脑,他們只是感情好恳邀,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著灶轰,像睡著了一般谣沸。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上框往,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天鳄抒,我揣著相機與錄音,去河邊找鬼椰弊。 笑死,一個胖子當著我的面吹牛瓤鼻,可吹牛的內容都是我干的秉版。 我是一名探鬼主播,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼茬祷,長吁一口氣:“原來是場噩夢啊……” “哼清焕!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤秸妥,失蹤者是張志新(化名)和其女友劉穎滚停,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體粥惧,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡键畴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了突雪。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片起惕。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咏删,靈堂內的尸體忽然破棺而出惹想,到底是詐尸還是另有隱情,我是刑警寧澤督函,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布嘀粱,位于F島的核電站,受9級特大地震影響辰狡,放射性物質發(fā)生泄漏锋叨。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一搓译、第九天 我趴在偏房一處隱蔽的房頂上張望悲柱。 院中可真熱鬧,春花似錦些己、人聲如沸豌鸡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涯冠。三九已至,卻和暖如春逼庞,著一層夾襖步出監(jiān)牢的瞬間蛇更,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工赛糟, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留派任,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓璧南,卻偏偏與公主長得像掌逛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子司倚,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354