【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

通讯流程

相关推荐
你觉得20514 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
啊喜拔牙14 小时前
1. hadoop 集群的常用命令
java·大数据·开发语言·python·scala
别惊鹊15 小时前
MapReduce工作原理
大数据·mapreduce
8K超高清15 小时前
中国8K摄像机:科技赋能文化传承新图景
大数据·人工智能·科技·物联网·智能硬件
2401_8712905816 小时前
MapReduce 的工作原理
大数据·mapreduce
SelectDB技术团队17 小时前
Apache Doris 2025 Roadmap:构建 GenAI 时代实时高效统一的数据底座
大数据·数据库·数据仓库·人工智能·ai·数据分析·湖仓一体
你觉得20517 小时前
浙江大学朱霖潮研究员:《人工智能重塑科学与工程研究》以蛋白质结构预测为例|附PPT下载方法
大数据·人工智能·机器学习·ai·云计算·aigc·powerpoint
益莱储中国18 小时前
世界通信大会、嵌入式展及慕尼黑上海光博会亮点回顾
大数据
Loving_enjoy18 小时前
基于Hadoop的明星社交媒体影响力数据挖掘平台:设计与实现
大数据·hadoop·数据挖掘
浮尘笔记18 小时前
go-zero使用elasticsearch踩坑记:时间存储和展示问题
大数据·elasticsearch·golang·go