声明:本系列博客为原创,最先发表在拉勾教育,其中一部分为免费阅读部分。被读者各种搬运至各大网站。所有其他的来源均为抄袭。
《2021年最新版大数据面试题全面开启更新》
当前基于Hadoop的离线存储体系已经足够成熟,但是离线计算天然时效性不强,一般都是隔天级别的滞后,业务数据随着实践的推移,本身的价值会逐渐减少。越来越多的场景需要使用实时计算,这种背景下实时计算平台的需求应运而生。
架构选型
首先在架构上,Flink采用经典的主从模式,DataFlow Grapy和Storm形成的Topology结构类似,Flink程序启动后,会根据用户的代码处理成Stream Grapy,然后优化成为JobGrapy,JobManager会根据JobGrapy生成ExecutionGrapy。ExecutionGrapy才是Flink真正能执行的数据结构,当很多个ExecutionGrapy分布在集群中,就会形成一张网状的拓扑结构。
其次在容错方面,针对以前Spark Streaming任务,可以配置对应的checkpoint,也就是保存点(检查点)。当任务出现failover的时候,会从checkpoint重新加载,使得数据不丢失。但是这个过程会导致原来的数据重复使用,不能做到“只处理一次”的语义。Flink基于两阶段提交实现了端到端的一次处理语义。
在任务的反压上,Flink没有使用