1、同时支持事件时间和处理时间语义。事件时间语义能够针对无序事件提供精确、一致的结果;处理时间语义能够用在具有极低延迟需求的应用中。
2、提供精确一次(exactly once)的状态一致性保障。
3、层次化的API在表达能力和易用性方面各有权衡。表达能力由强到弱(易用性由弱到强)依次是:ProcessFunction、DataStream API、sql/Table API。
Flink API提供了通用的流操作原语(如窗口划分和异步操作)以及精确控制时间和状态的接口。
4、提供常见存储系统的连接器,Kafka,Elasticsearch,JDBC
5、checkpoint和savepoint
6、支持高可用性配置(无单点失效),与k8s、Yarn、Apache Mesos紧密集成,快速故障恢复,动态扩缩容作业。
7、提供详细、可自由定制的系统及应用指标(metrics)集合,用于提前定位和响应问题。
8、社区正在努力将Flink发展成为在API及运行时层面都能做到批流统一。
9、对开发者友好,Flink的嵌入式执行模式可将应用自身连同整个Flink系统在单个JVM进程内启动,方便在IDE里运行和调试Flink作业
reference:
1 《Stream Processing with Apache Flink》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。