Flink流处理引擎系统学习(五)

前言

这次继续分享基础知识,Flink的Runtime知识。也是记录笔记,方便以后自己再回头看。


一、Flink运行时架构

Flink流处理引擎系统学习(五)_第1张图片
Akka:Akka基于Actor模型,提供了一个用于构建可扩展的(Scalable)、弹性的(Resilient)、快速响应的(Responsive)应用程序的平台。
akka典型的特点:

  • 并发模型:基于actor模型,对并发进行高层次的抽象;
  • 异步能力:基于actor模型进行通信,天然具有异步非阻塞的特点;
  • 高容错性:通过父子actor监督机制进行容错处理,为akka分布式模型提供高容错特性;
  • 轻量级: 每个actor只占300bytes左右的内存,1G内存即可容纳百万级数量的actor;
  • 位置透明:akka对actor地址进行了抽象、屏蔽了本地地址和远程地址的差异,对开发者透明
  • 持久化:actor状态或消息可以被持久化,在jvm宕机后actor可以恢复;

二、运行时概念总结Flink流处理引擎系统学习(五)_第2张图片

Jobmanager:包工头
TaskManager:农民工 进程
TaskMabager Slots:一个农民工能干多少活是看槽位的
Job:整个开发应用叫job可以划分为多个Task、subtask执行
Task&subtask: 执行线程 线程
Operator:一个Task里可以有多个operator
Parallelism:设置并行度
chain:链式,链成一个task
SlotSharingGroup:软性的,尽可能让共享 使task与slot不一一对应,形成“共享”
CoLocationGroup:强制的
不是说共享就一定好,密集型要拆分,拆分会性能更好

1.TaskManager Slot

Flink流处理引擎系统学习(五)_第3张图片

2.OperatorChain&Task

Flink流处理引擎系统学习(五)_第4张图片
Flink流处理引擎系统学习(五)_第5张图片
Flink流处理引擎系统学习(五)_第6张图片

3.共享SlotFlink流处理引擎系统学习(五)_第7张图片

Flink流处理引擎系统学习(五)_第8张图片

4.SlotSharingGroup

Flink流处理引擎系统学习(五)_第9张图片

5.Slots&&Parallelism

Flink流处理引擎系统学习(五)_第10张图片


三、计算slot数量的方法

Flink流处理引擎系统学习(五)_第11张图片


四、Flink部署方式Flink流处理引擎系统学习(五)_第12张图片

Flink流处理引擎系统学习(五)_第13张图片
Flink流处理引擎系统学习(五)_第14张图片


五、Flink部署推荐方式

Flink流处理引擎系统学习(五)_第15张图片
Flink流处理引擎系统学习(五)_第16张图片


总结

1、不得不说设计思路真清晰
2、里面的交互、通讯、传输都是使用的一些牛逼组件
还是有那样的感觉,这么牛逼的产品也是牛逼的轮子串起来的,如果没有Akka、Netty支撑,又何谈它的优秀,所以设计没有估计的公式。下期救要开始搞机器资源玩了,明天去公司看看有没有环境,感觉应该是没有,我这边的2个交付底座支撑的产品,连开发环境都没有。。。。。

你可能感兴趣的:(flink,大数据,flink,flink运行架构,flink,Run,Time,Flink运行时概念总结)