當前位置:
首頁 > 知識 > Apache Flink發布新框架,以無伺服器方式運行有狀態應用

Apache Flink發布新框架,以無伺服器方式運行有狀態應用

近期,Apache Flink開源項目背後的公司Ververica發布了一個新的框架——Stateful Functions,旨在將Flink擴展到分散式的有狀態應用程序中。

Stateful Functions是一組工具,旨在讓開發人員能夠創建以現代無伺服器方式運行的有狀態應用程序。該軟體為開發人員提供了一組有狀態函數(以此得名),而該軟體運行在Flink的分散式數據處理引擎之上。

Apache Flink發布新框架,以無伺服器方式運行有狀態應用

Apache Flink已經成為一個領先的流處理框架,它為開發人員提供了豐富的功能,以構建分散式、事件驅動的應用程序。希望對事件做出響應的組織,例如一個人進行購買或一個感測器在登錄嘗試檢測峰值時,最好選擇Flink或類似的框架來構建應用程序。

然而,這些Flink應用程序在大多數情況下以無狀態的方式運行。雖然Flink確實提供了一些允許開發人員使用狀態的功能,但是開發人員使用它們可以實現的功能是有限制的。

Ververica公司表示,旨在克服這些限制的Stateful Functions「使用戶能夠使用少量資源定義松耦合的、獨立的功能, 在一個共享資源池中可以持續交互而且是可靠的。」Ververica聯合創始人兼首席技術官Stephan Ewen和該公司產品營銷經理Marta Paes在博客上寫道。

該公司表示,Stateful Functions背後的API是基於「封裝業務邏輯的小函數性片段,有點類似於actors」。每個實體通常有一個函數(例如一個用戶或一個庫存項)。「每個函數在局部變數中都有持久的用戶定義狀態,並且可以任意地向其他函數(包括它自己。)發送嚴格的一次保證消息。」Ewen和Paes寫道。

當開發人員需要維護到實體的有狀態連接,但又不想放棄事件驅動的體系結構的好處或脫離函數即服務(function as a service, FaaS)的開發風格時,這個新庫是一個不錯的選擇。新的Stateful Functions方法並非為了替代無狀態計算,而是在需要這兩種方法時提供了新的前進路徑。

Ververica表示,Stateful Functions都是在狀態之上計算,而不是從狀態之中計算。「這個模型的主要優點是狀態和計算共存於網路的同一側,這意味著您不需要往返每個記錄去從外部存儲系統獲取狀態(例如Cassandra,DynamoDB),也不是為了一致性的具體狀態管理模式 (例如事件溯源、CQRS)。」 Ewen和Paes寫道。


Apache Flink發布新框架,以無伺服器方式運行有狀態應用

Stateful Functions擴展了Flink,能夠將有狀態計算概念與Flink分散式的、無伺服器的範例合併在一起

該公司表示,另外一個優勢在於無需管理動態消息和維護複雜的複製或重分區策略。其中,持久性是通過為快照保持與對象存儲的連接來實現的。新的方法還為實時流處理和離線批處理提供了高吞吐量,「允許您對事件驅動的應用程序和通用數據處理之間的界限進行模糊。」該公司表示。

Ververica在於德國柏林舉行的Flink Forward大會上宣布了這一消息。今年早些時候,這家公司被阿里巴巴收購,目前正在以Apache 2.0的許可協議發布這款軟體。

「在Kubernetes和FaaS等技術的推動下,無狀態計算的編配已經取得了長足的進步,但大多數產品仍然無法滿足有狀態分散式應用的需求。始終如一地處理狀態並在服務之間可靠地交互,這對整體開發的易用性構成了重大挑戰。」 Ewen 在一篇新聞稿中指出,「Stateful Functions是解決這些缺點的重要一步,提供了無縫的狀態管理和一致性。」

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!


請您繼續閱讀更多來自 IT168企業級 的精彩文章:

Wi-Fi聯盟正式推出Wi-Fi 6認證計劃
「最全最新」農業銀行資料庫使用實踐和發展規劃