Apache Flink 1.2已經(jīng)宣布發(fā)布,新增特性包括動(dòng)態(tài)縮放功能、安全性、可查詢狀態(tài)等等。本次發(fā)布解決了650個(gè)問題,維持了與所有公開API的兼容性,以及針對(duì)Apache Kafka 0.10和Apache Mesos的支持。
Flink的動(dòng)態(tài)縮放允許更改流式作業(yè)的并行度或者工作操作符。此功能能夠從帶有不同并行度的保存點(diǎn)恢復(fù)作業(yè)并且相應(yīng)地通過(guò)上下縮放方式提升流式管道的操作管理能力,最小化停機(jī)時(shí)間到幾秒鐘。當(dāng)前Flink支持類似于Kafka消費(fèi)者、窗口操作以及自定義用戶狀態(tài)這樣的操作符。
針對(duì)安全性,添加了對(duì)外部服務(wù)使用Kerberos進(jìn)行身份認(rèn)證支持。Flink支持驗(yàn)證ZooKeeper、kafka、HDFS以及YARN。實(shí)驗(yàn)基于SSL協(xié)議的通信線也被新增用于Flink執(zhí)行者之間傳輸加密信息。
可查詢狀態(tài)實(shí)驗(yàn)特征通過(guò)API暴露了操作符的關(guān)鍵狀態(tài)。這種方式是很有意義的,這樣就在不需要向一個(gè)數(shù)據(jù)存儲(chǔ)器寫入狀態(tài)數(shù)據(jù)的情況下,就可以提供流式管道的心跳狀態(tài)。這種狀態(tài)可以使用一個(gè)線程安全的異步QueryableStateClient查詢,并且也提供了一些工具用于處理操作符實(shí)現(xiàn)和客戶端兩者的序列化狀態(tài)。
Apache kafka 0.10也支持作為數(shù)據(jù)源和數(shù)據(jù)池。Kafka 0.10連接器可以隨著Flink內(nèi)部事件時(shí)間消費(fèi)和生產(chǎn)消息。Kafka消費(fèi)者可以以Kafka消息時(shí)間戳作為事件時(shí)間發(fā)出數(shù)據(jù),但是不會(huì)通過(guò)發(fā)出watermark(一種衡量事件時(shí)間進(jìn)展方式)方式增加時(shí)間。
Apache Mesos此次也被作為部署選項(xiàng)增加進(jìn)來(lái)。Flink也支持DC/OS部署,并且Marathon業(yè)務(wù)流程平臺(tái)可以被提升運(yùn)行高可用的Flink集群-Marathon將所有的Flink組件作為Mesos任務(wù),在整個(gè)集群運(yùn)行,無(wú)論什么時(shí)候Flink主節(jié)點(diǎn)失敗了,其他的節(jié)點(diǎn)就會(huì)啟動(dòng)。狀態(tài)(運(yùn)行任務(wù))被保存在ZooKeeper并從中恢復(fù)。
Table API此次也得到了提升。Window aggregations被三種不同的模式支持:tumbling windows、sliding windows以及session (gap) windows。所有的模式支持事件時(shí)間和處理時(shí)間windowing。Tumbling和sliding模式也支持行計(jì)數(shù)windowing。Flink的Table API和SQL提供了針對(duì)POJO字段訪問的試驗(yàn)訪問方式,并且擴(kuò)展了內(nèi)置函數(shù)的支持隊(duì)列。
查看英文原文:Apache Flink 1.2 Released with Dynamic Rescaling, Security and Queryable State