Flink未來將與 Pulsar集成提供大規(guī)模的彈性數(shù)據(jù)處理
問題導(dǎo)讀
1.什么是Pulsar?
2.Pulsar都有哪些概念?
3.Pulsar有什么特點(diǎn)?
4.Flink未來如何與Pulsar整合?
Apache Flink和Apache Pulsar的開源數(shù)據(jù)技術(shù)框架可以以不同的方式集成,以提供大規(guī)模的彈性數(shù)據(jù)處理。在這篇文章中,我將簡要介紹Pulsar及其與其他消息傳遞系統(tǒng)的差異化元素,并描述Pulsar和Flink可以協(xié)同工作的方式,為大規(guī)模彈性數(shù)據(jù)處理提供無縫的開發(fā)人員體驗(yàn)。
Pulsar簡介
Apache Pulsar是一個(gè)開源的分布式pub-sub消息系統(tǒng),由Apache Software Foundation管理。Pulsar是一種用于服務(wù)器到服務(wù)器消息傳遞的多租戶,高性能解決方案,包括多個(gè)功能,例如Pulsar實(shí)例中對多個(gè)集群的本地支持,跨集群的消息的無縫geo-replication,非常低的發(fā)布和端到端 - 延遲,超過一百萬個(gè)主題的無縫可擴(kuò)展性,以及由Apache BookKeeper等提供的持久消息存儲(chǔ)保證消息傳遞,F(xiàn)在讓我們討論P(yáng)ulsar和其它pub-sub消息傳遞框架之間的主要區(qū)別:
第一個(gè)差異化因素源于這樣一個(gè)事實(shí):雖然Pulsar提供了靈活的pub-sub消息傳遞系統(tǒng),但它也有持久的日志存儲(chǔ)支持 - 因此在一個(gè)框架下結(jié)合了消息傳遞和存儲(chǔ)。由于采用了分層架構(gòu),Pulsar提供即時(shí)故障恢復(fù),獨(dú)立可擴(kuò)展性和無平衡的集群擴(kuò)展。
Pulsar的架構(gòu)遵循與其他pub-sub系統(tǒng)類似的模式,因?yàn)榭蚣茉谥黝}中被組織為主要數(shù)據(jù)實(shí)體,生產(chǎn)者向主體發(fā)送數(shù)據(jù),消費(fèi)者從主題(topic)接收數(shù)據(jù),如下圖所示。
Topic是Pulsar的核心概念,表示一個(gè)“channel”,Producer可以寫入數(shù)據(jù),Consumer從中消費(fèi)數(shù)據(jù)(Kafka、RocketMQ都是這樣)。
Topic名稱的URL類似如下的結(jié)構(gòu):
{persistent|non-persistent}://tenant/namespace/topic
persistent|non-persistent表示數(shù)據(jù)是否持久化(Pulsar支持消息持久化和非持久化兩種模式)
Tenant為租戶
Namespace一般聚合一系列相關(guān)的Topic,一個(gè)租戶下可以有多個(gè)Namespace
Pulsar的第二個(gè)區(qū)別是該框架是從一開始就考慮多租戶而構(gòu)建的。這意味著每個(gè)Pulsar主題都有一個(gè)分層的管理結(jié)構(gòu),使得資源的分配以及團(tuán)隊(duì)之間的資源管理和協(xié)調(diào)變得高效和容易。借助Pulsar的多租戶結(jié)構(gòu),數(shù)據(jù)平臺(tái)維護(hù)人員可以在沒有摩擦的情況下加入新團(tuán)隊(duì),因?yàn)镻ulsar在屬性(租戶),命名空間或主題級別提供資源隔離,同時(shí)數(shù)據(jù)可以在集群中共享以便于協(xié)作和 協(xié)調(diào)。
下圖中Property即為租戶,每個(gè)租戶下可以有多個(gè)Namespace,每個(gè)Namespace下有多個(gè)Topic。
Namespace是Pulsar中的操作單元,包括Topic是配置在Namespace級別的,包括多地域復(fù)制,消息過期策略等都是配置在Namespace上的。
最后,Pulsar靈活的消息傳遞框架統(tǒng)一了流式和排隊(duì)數(shù)據(jù)消費(fèi)模型,并提供了更大的靈活性。如下圖所示,Pulsar保存主題中的數(shù)據(jù),而多個(gè)團(tuán)隊(duì)可以根據(jù)其工作負(fù)載和數(shù)據(jù)消耗模式獨(dú)立使用數(shù)據(jù)。
Pulsar提供了靈活的消息模型,支持三種訂閱類型:
Exclusive subscription:排他的,只能有一個(gè)Consumer,接收一個(gè)Topic所有的消息
Shared subscription:共享的,可以同時(shí)存在多個(gè)Consumer,每個(gè)Consumer處理Topic中一部消息(Shared模型是不保證消息順序的,Consumer數(shù)量可以超過分區(qū)的數(shù)量)
Failover subscription:Failover模式,同一時(shí)刻只有一個(gè)有效的Consumer,其余的Consumer作為備用節(jié)點(diǎn),在Master Consumer不可用后進(jìn)行替代(看起來適用于數(shù)據(jù)量小,且解決單點(diǎn)故障的場景)
Pulsar對數(shù)據(jù)的看法:分段數(shù)據(jù)流
Apache Flink是一個(gè)流優(yōu)先計(jì)算框架,它將批處理視為流的特殊情況。Flink對數(shù)據(jù)流的看法區(qū)分了有界和無界數(shù)據(jù)流之間的批處理和流處理,假設(shè)對于批處理工作負(fù)載,數(shù)據(jù)流是有限的,具有開始和結(jié)束。
對于數(shù)據(jù)層,Apache Pulsar與Apache Flink的觀點(diǎn)相似。該框架還使用流作為所有數(shù)據(jù)的統(tǒng)一視圖,而其分層體系結(jié)構(gòu)允許傳統(tǒng)的pub-sub消息傳遞用于流式工作負(fù)載和連續(xù)數(shù)據(jù)處理或分段流的使用以及批量和靜態(tài)工作負(fù)載的有界數(shù)據(jù)流。
使用Pulsar,一旦生產(chǎn)者向主題(topic)發(fā)送數(shù)據(jù),它就會(huì)根據(jù)數(shù)據(jù)流量進(jìn)行分區(qū),然后在這些分區(qū)下進(jìn)一步細(xì)分 - 使用Apache Bookkeeper作為分段存儲(chǔ) - 以允許并行數(shù)據(jù)處理,如下圖所示。這允許在一個(gè)框架中組合傳統(tǒng)的pub-sub消息傳遞和分布式并行計(jì)算。
當(dāng)Flink + Pulsar整合
Apache Flink和Apache Pulsar已經(jīng)以多種方式集成。在接下來的部分中,我將介紹框架之間的一些潛在的未來集成,并分享可以一起使用框架的現(xiàn)有方法的示例。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個(gè)字
最新活動(dòng)更多
-
3月27日立即報(bào)名>> 【工程師系列】汽車電子技術(shù)在線大會(huì)
-
4月30日立即下載>> 【村田汽車】汽車E/E架構(gòu)革新中,新智能座艙挑戰(zhàn)的解決方案
-
5月15-17日立即預(yù)約>> 【線下巡回】2025年STM32峰會(huì)
-
即日-5.15立即報(bào)名>>> 【在線會(huì)議】安森美Hyperlux™ ID系列引領(lǐng)iToF技術(shù)革新
-
5月15日立即下載>> 【白皮書】精確和高效地表征3000V/20A功率器件應(yīng)用指南
-
5月16日立即參評 >> 【評選啟動(dòng)】維科杯·OFweek 2025(第十屆)人工智能行業(yè)年度評選
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 4 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺(tái)
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計(jì)算迎來商業(yè)化突破,但落地仍需時(shí)間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動(dòng)駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機(jī)器人東風(fēng)翻身?