【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

通讯流程

相关推荐
2603_954708313 分钟前
微能网协调控制箱突破传统微电网架构瓶颈
大数据·数据库·人工智能·架构·能源
智圣新创0114 分钟前
教育数字化合规背景下 智圣新创高校一表通建设全国低内耗落地指引
大数据·人工智能
猴子155168131 分钟前
长期追踪调研的样本留存是怎么实现的:跨波次对齐、催答调度与质控机制,附五家样本服务实测记录
大数据·经验分享
samLi06201 小时前
贵州贵安新区行政区划面数据(含经纬度)
大数据
YH_Analytics1 小时前
2026 洁净室环境在线监测系统行业排名与份额对比销量与份额解析
大数据·网络·人工智能
ha_lydms1 小时前
String Functions(字符串函数)
大数据·hadoop·阿里云·spark·数据处理·dataworks·maxcompute
对空六课2 小时前
两个统计平台数据不同:用同一时间窗和事件样本做差异定位
大数据·前端·网络·数据库
Geeys10 小时前
拼多多单品推广完整方案(可直接落地)
大数据·人工智能
生态学者10 小时前
Global Change Biology | 森林越“步调一致”,反而越怕干旱?树木生长与叶片活动的同步之谜
大数据·人工智能·算法·r语言·微信公众平台
lsswear11 小时前
Agent 框架新手入门与实战部署指南
大数据·人工智能·算法