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