【Flink精讲】Flink组件通信

主要指三个进程中的通讯

  1. CliFrontend
  2. YarnJobClusterEntrypoint
  3. TaskExecutorRunner

Flink内部节点之间的通讯使用Akka,比如JobManager和TaskManager之间。而operator之间的数据传输是利用Netty。

RPC是统称,Akka,Netty是实现

Akka与Actor模型

Actor(演员)模型,每个actor有一个mailbox来收发消息,每个actor都是一个单一的线程。

Actor系统(ActorSystem):相当于部门,系统里有线程池,多个actor系统可以在一台机器上共存。

Flink中的Actor

Flink系统由3个分布式组件组成:JobClient、JobManager和TaskManager。

异步消息、异步响应:Futures :Java JUC

与Actor通讯

Akka两种核心异步通讯方式:tell和ask。

  • tell跟你说一下就完了

  • ask可以获取到响应结果

RPC

RpcGateway

JobManger连接TaskManager里的Server,返回给JobManager一个Gateway

RpcEndpoint

RpcService与RpcServer

RpcService接口:实现:AkkaRpcService

RpcServer,由RpcService启动得到,RpcServer是self gateway(自身的网关:调用自己的方法,接收网关的请求),区别与访问其他节点的gateway

RpcServer接口两个实现

  • AkkaInvocationHandler
  • FencedAkkaInvocationHandler:高可用,Fenced栅栏

RpcEndpoint的start方法调用的是RpcServer的start

通讯流程

相关推荐
深眸财经1 小时前
安踏与特步的“隐秘角落”
大数据·人工智能
多年小白1 小时前
【无标题】
大数据·人工智能·科技·ai·ai编程
数据库小组1 小时前
Oracle 上云 / 替代场景下,NineData 完成到 PostgreSQL 的低风险迁移
大数据·数据库·mysql·postgresql·oracle·数据一致性·数据库迁移
EasyDSS1 小时前
企业级私有化视频会议系统EasyDSS私有化部署赋能企业高效安全培训
大数据·安全
sunxunyong2 小时前
HDFS nnsdy重新配置启动
大数据·hadoop·hdfs
bukeyiwanshui2 小时前
Hadoop环境搭建
大数据·hadoop·分布式
李可以量化2 小时前
QMT之如何判断因子好坏(下)
大数据·机器学习·qmt·量化 qmt ptrade·因子
努力的小白o(^▽^)o2 小时前
简历中关于分类的问题
大数据·人工智能·分类
Jianghong Jian2 小时前
HDFS常用的JAVA API
大数据·hadoop·hdfs
环球科讯2 小时前
筑牢安全防线 增强应急本领——建行研修中心井冈山党性教育研修院开展消防应急知识培训及演练
大数据