介绍一下什么是Apache Flink
Apache Flink介绍:
Apache Flink 是一个框架和分布式处置引擎,用于在无边界和有边界数据流上停止有状态的运算。Flink 能在所有常见集群环境中运转,并能之内存速度和任意规模停止运算。
(引荐教程:apache)
接下来,我们来介绍一下 Flink 架构中的重要方面。
处置无界和有界数据
任何类型的数据都可以构成一种事件流。信誉卡交易、传感器测量、机器日志、网站或移动利用程序上的会员交互记载,所有这些数据都构成一种流。
数据可以被作为 无界 或者 有界 流来处置。
1.无界流 有定义流的开端,但没有定义流的完毕。它们会无停止地发生数据。无界流的数据必需连续处置,即数据被摄取后需要立即处置。我们不克不及比及所有数据都抵达再处置,由于输入是无穷的,在任何时候输入都不会完成。处置无界数据平常要求以特定次序摄取事件,例如事件发生的次序,以便能够推断结果的完全性。
2.有界流 有定义流的开端,也有定义流的完毕。有界流可以在摄取所有数据后再停止运算。有界流所有数据可以被排序,所以并不需要有序摄取。有界流处置平常被称为批处置。
Apache Flink 擅长处置无界和有界数据集 准确的时间操纵和状态化使得 Flink 的运转时(runtime)能够运转任何处置无界流的利用。有界流则由一些专为牢固大小数据集非凡设计的算法和数据构造停止内部处置,发生了杰出的机能。
通过摸索 Flink 之上构建的 用例 来加深懂得。
摆设利用到任意地方
Apache Flink 是一个分布式系统,它需要运算资源来施行利用程序。Flink 集成了所有常见的集群资源治理器,例如 Hadoop YARN、 Apache Mesos 和 Kubernetes,但同时也可以作为独立集群运转。
Flink 被设计为能够很好地工作在上述每个资源治理器中,这是通过资源治理器特定(resource-manager-specific)的摆设模式实现的。Flink 可以采纳与当前资源治理器相顺应的方式停止交互。
摆设 Flink 利用程序时,Flink 会按照利用程序配置的并行性主动标识所需的资源,并从资源治理器恳求这些资源。在发生故障的状况下,Flink 通过恳求新资源来更换发生故障的容器。提交或操纵利用程序的所有通讯都是通过 REST 调取停止的,这可以简化 Flink 与各种环境中的集成。
运转任意规模利用
Flink 旨在任意规模上运转有状态流式利用。因此,利用程序被并行化为大概数千个任务,这些任务分布在集群中并发施行。所以利用程序能够充分利用无尽的 CPU、内存、磁盘和网络 IO。并且 Flink 很容易保护非常大的利用程序状态。其异步和增量的检查点算法对处置延迟发生最小的影响,同时包管准确一次状态的一致性。
Flink 会员报告了其生产环境中一些令人印象深刻的扩展性数字
处置每天处置数万亿的事件,利用保护几TB大小的状态, 和利用在数千个内核上运转。
利用内存机能
有状态的 Flink 程序针对当地状态拜访停止了优化。任务的状态始终保存在内存中,假如状态大小超越可用内存,则会留存在能高效拜访的磁盘数据构造中。任务通过拜访当地(平常在内存中)状态来停止所有的运算,从而发生非常低的处置延迟。Flink 通过按期和异步地对当地状态停止耐久化储备来包管故障场景下准确一次的状态一致性。
以上就是介绍一下什么是Apache Flink的具体内容,更多请关注百分百源码网其它相关文章!