Flink内核源码解析

news2024/9/20 6:51:48

Flink内核源码

Flink RPC 网络通信框架Akka

以往,我们接触过非常多的大数据技术栈相关的框架,用的比较多的大数据相关组件,常用的RPC实现技术如下:

技术组件RPC实现
HadoopNIO + Protobuf (Protobuf即Protocol Buffers,是Google公司开发的一种跨语言和平台的序列化数据结构的方式,是一个灵活的, 高效的用于序列化数据的协议)
HbaseHbase2.x以前:NIO + ProtoBuf,Hbase2.x会议后:Netty
ZooKeeperBIO(Blocking I/O,同步阻塞I/O模式) + NIO (New I/O,同步非阻塞的I/O模型) + Netty
SparkSpark-2.x 以前 基于 Akka Actor,Spark2.x往后基于 Netty RpcEndpoint
FlinkAkka(组件中间)+ Netty (operator)
KafkaNIO

在Flink中主从节点之间的通信组件,即:akka,可以通过Flink web ui进行确认
在这里插入图片描述
为什么Flink使用了两套通信框架呢?这是因为Flink节点与节点之间,组件与组件之间通信采用的是Akka,但是数据交换,比如算子与算子之间的数据交换采用的是Netty,比如Flink中有JobManager,还有TaskManager从节点,而JobManager主节点里面有一些组件,比如JobMaster,Dispatcher等,组件与组件之间通信采用的是Akka,而Netty是算子与算子之间,比如Map算子后面跟着Filter,Filter后面跟着reducekeyby等操作这些算子之间采用的是Netty来通信的。
Fink 内部节点之间的通信是用Akka,比如JobManager 和 TaskManager之间的通信,而operator之间的数据传输是采用的Netty
Flink通过Akka进行的分布式通信的实现,有远程过程调用都实现为异步消息,这主要影响组件:JobManager,TaskManager 和JobClient.
RPC框架是Flink任务运行的基础,Flink整个RPC框架基于Akka实现,并对Akka中的ActorSystem, Actor 进行了封装和使用,Flink整个通信框架的组件主要由 RpcEndpoint,RpcService,RpcServer,AkkaInvocationHandler,AkkaRpcActor等构成。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/888447.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

iOS设计规范是什么?都有哪些具体规范

iOS设计规范是苹果为移动设备操作系统iOS制定的设计指南。iOS设计规范的制定保证了苹果应用在外观和操作上的一致性和可用性,从而提高了苹果界面设计的用户体验和应用程序的成功性。本文将从七个方面全面分析iOS设计规范。 1.iOS设计规范完整版分享 由「即时设计」…

VS2019+Qt5.15.2 编译 QtWebEngine(带音视频解码)

前言 QtWebEngine 是 Qt 框架的一部分,用于构建现代 Web 浏览器功能。本篇教程将向您展示如何在 Visual Studio 2019 中编译 QtWebEngine 5.15.2 源码,并配置以支持音视频解码功能。 准备工作 1、源码下载 2、源码修改,参考Qt Code Review…

Docker基础入门:镜像、容器导入导出与私有仓库搭建

Docker基础入门:镜像导入导出与私有仓库搭建 一、 Docker镜像、容器的导入和导出1.1、Docker镜像的导出1.2、Docker镜像的载入1.3、Docker容器的导出1.4、Docker容器的导入 二、 镜像和容器导出和导入的区别:三、commit操作_本地镜像发布到阿里云3.1、commit操作有关…

【正点原子STM32连载】第十二章 串口通信实验 摘自【正点原子】APM32F407最小系统板使用指南

1)实验平台:正点原子stm32f103战舰开发板V4 2)平台购买地址:https://detail.tmall.com/item.htm?id609294757420 3)全套实验源码手册视频下载地址: http://www.openedv.com/thread-340252-1-1.html# 第十…

在 Windows 11 上继续使用 Internet Explorer 的方法

为什么微软要淘汰IE? 微软在几年前积极的想要淘汰IE浏览器且用Edge来取代,像是Windows 11内建就没有IE浏览器,如果需要用到IE就必须得用Edge内的IE模式。IE缺乏现代浏览器的安全性。微软在2002年的时候,IE曾经占据了95%的浏览器市…

韦东山-电子量产工具项目:输入单元

所有代码都已通过测试跑通&#xff0c;其中代码结构如下&#xff1a; 一、include文件夹 1.1 input_manager.h #ifndef _INPUT_MANAGER_H //防止头文件重复包含,只要右边的出现过&#xff0c;就不会再往下编译 #define _INPUT_MANAGER_H #include <sys/time.h>#define I…

springboot艰难版本升级之路!! springboot 2.3.x版本升级到2.7.x版本

文章目录 1.缘起1.1 升级到版本2.7.12启动失败,而且没有报错信息1.2 application-dev.yml 配置加载问题1.3 openfeign依赖问题汇总1.4 datasource报错1.5 MySQL驱动升级1.6 循环依赖报错临时总结1.缘起 由于服务需要搭建链路追踪, 需要把springboot版本升级到2.7.12. 目前服务是…

爬虫借助代理会让网速快点吗?

亲爱的程序员朋友们&#xff0c;你曾经遇到过爬虫网速慢的情况吗&#xff1f;别着急&#xff01;今天我将和你一起探讨一下使用代理是否可以加速爬虫&#xff0c;让我们一起进入这个轻松又专业的知识分享。 一、原因和机制的解析 1.IP限制 某些网站为了保护资源和防止爬虫行…

大模型基础03:Embedding 实战本地知识问答

大模型基础:Embedding 实战本地知识问答 Embedding 概述 知识在计算机内的表示是人工智能的核心问题。从数据库、互联网到大模型时代,知识的储存方式也发生了变化。在数据库中,知识以结构化的数据形式储存在数据库中,需要机器语言(如SQL)才能调用这些信息。互联网时代,…

ZKRF-08、ZKRF-10、ZKBLF-04压力补偿节流阀

ZKFC-08、ZKFC-10单向节流阀、ZKNV2-08、ZKNV2-10节流阀、ZKRF-08、ZKRF-10、ZKBLF-04压力补偿节流阀。 螺纹插装式单向节流阀&#xff0c;节流阀流量大小可通过调节螺杆来实现。②到①节流&#xff0c; ①到②开启。 手动节流阀&#xff0c;节流阀流量大小或关闭可通过调节螺…

系统性能调优之绑定cpu

支持超线程的numa架构 物理硬件视角&#xff0c; 将多个CPU封装在一起&#xff0c;这个封装被称为插槽Socket&#xff1b;Core是socket上独立的硬件单元&#xff1b;通过intel的超线程HT技术进一步提升CPU的处理能力&#xff0c;OS看到的逻辑上的核Processor的数量。 每个硬…

Studio One6最新音乐歌曲编曲伴奏软件

Studio One也是一款受众面积十分广泛的编曲软件&#xff0c;它集混音、编曲、乐曲制作为一体&#xff0c;是一款一站式工作的音乐制作软件。它支持用户添加乐器轨道&#xff0c;在轨道中使用内部乐器进行编辑输入&#xff0c;以实现编曲操作。 和FL Studio类似&#xff0c;Stu…

相关搜索引擎常用搜索语法(Google hacking语法和FOFA语法)

一&#xff1a;Google Hack语法 Google Hacking原指利用Google搜索引擎搜索信息来进行入侵的技术和行为&#xff0c;现指利用各种搜索引擎并使用一些高级的搜索语法来搜索信息。既利用搜索引擎强大的搜索功能&#xff0c;在在浩瀚的互联网中搜索到我们需要的信息。 &#xff0…

Jetpack Compose:探索声明式UI开发的未来

Jetpack Compose&#xff1a;探索声明式UI开发的未来 1. 引言 在移动应用开发领域&#xff0c;用户界面&#xff08;UI&#xff09;开发一直是开发过程中的关键挑战之一。传统的UI开发方式往往涉及大量繁琐的布局代码、手动管理状态和事件处理&#xff0c;不仅容易引发错误&a…

微信小程序 授权登录时不得默认强制用户同意隐私政策协议

今天提交微信小程序审核时&#xff0c;官方提示“隐私政策不合规&#xff0c;默认自动同意《用户服务协议》及《隐私政策》&#xff0c;应当由用户自主阅读后自行选择是否同意隐私政策协议&#xff0c;不得默认强制用户同意。” 需要在微信授权登录时先判断用户是否勾了隐私选…

ESP8266串口WiFi模块的四大创新型应用领域分析

ESP8266串口WiFi模块顾名思义&#xff0c;这是一款基于ESP8266方案的串口WiFi模块&#xff0c;可将用户的物理设备连接到WiFi无线网络上&#xff0c;进行互联网或局域网通信&#xff0c;实现联网功能。ESP8266串口WiFi模块是一种适用性强、应用范围广泛的WiFi模块。 ESP8266串口…

tsconfig.json和jsconfig.json配置

{// 编译选项"compilerOptions": {// 生成代码的语言版本&#xff1a;将我们写的 TS 代码编译成哪个版本的 JS 代码// 命令行&#xff1a; tsc --target es5 11-测试TS配置文件.ts"target": "es5",// 指定要包含在编译中的 library"lib&quo…

掌握指针进阶:探索字符指针、数组指针和指针数组的妙用

&#x1f341;博客主页&#xff1a;江池俊的博客 &#x1f4ab;收录专栏&#xff1a;C语言—探索高效编程的基石 &#x1f4a1;代码仓库&#xff1a;江池俊的代码仓库 &#x1f3aa;我的社区&#xff1a;GeekHub &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐…

Springboot 整合MQ实现延时队列入门

延时队列 添加依赖配置文件队列TTL代码架构图交换机、队列、绑定配置文件代码生产者代码消费者代码延时队列优化添加普通队列配置代码生产者发送消息是进行设置消息的ttl 通过MQ 插件实现延时队列代码架构图配置交换机生产者代码消费者代码测试发送 添加依赖 <!-- rabbitMQ …

2023国赛数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 &#xff08;赛题出来以后第一时间在CSDN分享&#xff09; https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…