flink架构设计
架构设计图
官方给出的为三层结构,其中Deploy层负责解决flink的部署问题,runtime层是flink的核心实现层,api和libraries面向编程人员。
flink运行模式
本地运行模式(local)
脱机运行模式(standalone)
集群运行模式(flink on yarn/mesos/kubernetes等资源管理平台)
其中集群运行模式又分为三种
会话模式(session)
工作模式(per-job)
应用模式(application)
本地运行模式主要用于代码测试,一个机器启动一个进程的多线程来模拟分布
脱机运行模式主要用于纯Flink纯计算的场景,商用场景极少。
集群运行模式是重点
会话模式,提前开启一个 工作管理者(job manager),多个 任务(task)都由一个 任务管理者(task manager)管理,而所有的 任务管理者 都向 工作管理者 汇报消息
优点:可以节省大量申请资源和启动 任务管理者 的时间,当 任务 持续时间较短并且需要频繁的创建时适合使用
缺点:没有很好的资源隔离性ÿ