flink架构设计

本文详细介绍了Flink的三种运行模式:本地运行模式、Flink Session集群与Flink Job集群,重点讨论了Session集群的生命周期、资源隔离及不同模式的应用场景。Flink Session集群适用于资源充分、频繁任务提交的场景,而Job集群则为每个作业启动单独的集群,提供更好的资源隔离性。Application模式下,main()方法在集群上运行,适合部署实时性要求不高的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.架构设计
在这里插入图片描述
分层设计说明(相关术语解释)
物理部署层-deploy层
负责解决Flink的部署模式问题,
支持多种部署模式:本地部署、集群部署(Standalone/Yarn/Mesos)、云(GCE/EC2)以及kubernetes。

	通过该层支持不同平台的部署,用户可以根据自身场景和需求选择使用对应的部署模式。

Runtime核心层
	是Flink分布式计算框架的核心实现层,负责对上层不同接口提供基础服务。

	支持分布式Stream作业的执行、JobGraph到ExecutionGraph的映射转换以及任务调度等。

	将DataStream和DataSet转成统一的可执行的Task Operator,达到在流式计算引擎下同时处理批量计算和流式计算的目的。

API & Libraries层
	负责更好的开发用户体验,包括易用性、开发效率、执行效率、状态管理等方面。

	Flink同时提供了支撑流计算和批处理的接口,同时在这基础上抽象出不同的应用类型的组件库,如:
		基于流处理的CEP(复杂事件处理库)
		Table & Sql库
		基于批处理的FlinkML(机器学习库)
		图处理库(Gelly)
	API层包括两部分
		流计算应用的DataStream API
		批处理应用的DataSet API
		统一的API,方便用于直接操作状态和时间等底层数据
			提供了丰富的数据处理高级API,例如Map、FllatMap操作等,

			并提供了比较低级的Process Function API

2、运行模式

运模模式核心区分点

集群生命周期和资源隔离保证
应用程序的main()方法是在客户端还是在集群上执行
所有模式分类说明
本地运行模式
standalone模式
集群运行模式

经常是指flink on yarn集群模式,yarn也可以换成mesos,Kubernetes(k8s)等资源管理平台替换。
共3种

	session模式
	per-job模式
	application模式

本地运行模式
运行过程:一个机器启动一个进程的多线程来模拟分布式计算。
主要用于代码测试

standalone模式
运行过程:完全独立的Flink集群的模式,各个环节均Flink自己搞定。并没有yarn、mesos的统一资源调度平台。
主要是只有纯Flink纯计算的场景,商用场景极少。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值