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
感谢刘志勇对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论