【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

通讯流程

相关推荐
存在morning7 小时前
【GO语言开发实践】二 GO 并发快速上手
大数据·开发语言·golang
nassi_7 小时前
对AI工程问题的一些思考
大数据·人工智能·hadoop
沪漂阿龙10 小时前
面试题详解:检索链路设计全攻略——RAG 检索架构、查询理解、多路召回、混合检索、Rerank、上下文构造与评估闭环
大数据·人工智能·架构
金融小师妹10 小时前
基于AI通胀预期模型与美元流动性监测框架的黄金6周新低行分析:美元五连涨周期下贵金属定价机制重构研究
大数据·人工智能·重构·逻辑回归·线性回归
智慧医养结合软件开源10 小时前
智慧养老系统医生管理模块:专业赋能,筑牢老人诊疗安全防线
大数据·人工智能·安全·生活
身如柳絮随风扬12 小时前
Git 核心操作:rebase 与 merge 的区别,以及分支管理最佳实践
大数据·git
多年小白12 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
财迅通Ai13 小时前
海立股份:公司旗下海立特冷“人体降温系统”入选市级先进技术推荐目录
大数据·人工智能·海立股份
captain_AIouo13 小时前
Captain AI以视频运营破局!助Ozon商家抢占流量红利
大数据·人工智能·经验分享·aigc·音视频
TDengine (老段)14 小时前
TDengine 一条 SQL 从客户端到执行完成的全链路
大数据·数据库·sql·物联网·时序数据库·tdengine·涛思数据