1。Endpoint Send&Ask流程
Endpoint的消息发送与请求流程,如下:

从图上看send方法最先调用,我们来看看什么时候调用,下面是worker的调用语句,但是这里我们主要走的是master的send语句

 workerRef.send(MasterInStandby)

send代码如下,这里主要处理是发给自己的还是发给别人的消息

/*** 我们来看下send这个经典的发送消息的方法,里面封装了不同类型消息体之间的通信的不同实现*/private[netty] def send(message: RequestMessage): Unit = {// 拿到需要发送的endpoint地址val remoteAddr = message.receiver.address// 判断是否是远程地址,如果remoteAddr == address远程地址和自己所在的地址是一个地址,比如,我自己是address=192.168.10.12&

spark学习-71-源代码:Endpoint模型介绍(3)-Endpoint SendAsk流程相关推荐

  1. spark学习-74-源代码:Endpoint模型介绍(6)-Endpoint的消息的接收

    Endpoint receive流程 Endpoint的消息的接收,流程如下: 本图主要包括两部分,一部分是创建Netty服务 一部分是接收消息 创建Netty服务 这里有个小问题,因为我找不到Rpc ...

  2. spark学习-75-源代码:Endpoint模型介绍(6)-Endpoint的消息的接收(2)

    关于Endpoint如何处理消息的,我一直找不到初始调用点 请问这个图中消息接受这个点在哪里?我想从这里看,但是找不到最初的起点 1.消息的产生点 没找到,消息是怎么产生的还不清楚,知道的底下评论一下 ...

  3. spark学习-70-源代码:Endpoint模型介绍(2)-启动流程

    1. Endpoint启动过程 启动的流程如下: Endpoint启动过程基本上与组件概览中组件能很好的对应 Endpoint启动后,默认会向Inbox中添加OnStart消息,不同的端点(Maste ...

  4. spark学习-72-源代码:Endpoint模型介绍(4)-Spark为何使用Netty通信框架替代Akka

    问题导读: spark 如何在1.6.0之后使用Netty替代了Akka? Spark Network Common怎么实现? BlockTransfer 与 Shuffle 之间的联系? Akka ...

  5. spark学习-69-源代码:Endpoint模型介绍(1)

    Spark作为分布式计算框架,多个节点的设计与相互通信模式是其重要的组成部分 一.组件概览 对源码分析,对于设计思路理解如下: RpcEndpoint:RPC端点 ,Spark针对于每个节点(Clie ...

  6. spark学习-73-源代码:Endpoint模型介绍(5)-Netty通讯小例子

    想理解Rpc的通讯,先看看Netty的通讯小例子,有助于理解Spark的Rpc通讯原理 先看一个整体图 静态图: 动态图gif动画: Spark2.2以后统一了通讯方式,全部是netty方式,根据源码 ...

  7. 学习笔记(36):Python网络编程并发编程-IO模型介绍

    立即学习:https://edu.csdn.net/course/play/24458/296460?utm_source=blogtoedu I/O模型介绍:I/O模型表示处于等待状态的模型,如套接 ...

  8. [深度学习-总结]Deep learning中8大模型介绍与比较(LeNet5,AlexNet,VGG,Inception,MobileNets,ResNet,DenseNet,Senet)

    深度学习 9中模型介绍与比较 0. CNN 结构演化 1. LeNet5 2. AlexNet 3. VGG 为什么使用2个3x3卷积核可以来代替5*5卷积核 4. 1*1卷积 5. Inceptio ...

  9. 推荐系统深度学习篇-NFM 模型介绍(1)

    一.推荐系统深度学习篇-NFM 模型介绍(1) NFM是2017年由新加披国立大学提出的一种模型,其主要优化点在于提出了Bi-Interaction,Bi-Interaction考虑到了二阶特征组合, ...

最新文章

  1. 数据结构的定义和简介
  2. Openstack各个组件的关系简介
  3. SpringMVC、MyBatis声明式事务管理
  4. 【Android 安全】DEX 加密 ( 常用 Android 反编译工具 | apktool | dex2jar | enjarify | jd-gui | jadx )
  5. C#函数式程序设计之惰性列表工具——迭代器
  6. Android Studio出现UnsupportedClassVersionError Unsupported major.minor version 52.0
  7. SAP ABAP一组关键字 IS BOUND, IS NOT INITIAL和IS ASSIGNED的用法辨析
  8. MSSQL → 02:数据库结构
  9. linux打包启动这着的文件,linux – 打开一个RPM文件并重新打包它
  10. WebApp的前端所遇问题
  11. python 速度 memmap_从20秒到0.5秒:一个使用Rust语言来优化Python性能的案例
  12. Nginx学习总结(3)——Nginx配置及应用场景之高级配置
  13. Spring中,修改注入的bean名称
  14. 在eclipse上安装lomboz插件
  15. 奔图3305_奔图Pantum P3305DN打印机驱动官方版
  16. python输出实时时间
  17. 关于英语单词记忆的总结
  18. 【Django】第一课 基于Django图书借阅管理网站平台
  19. VM虚拟机Ubuntu配置静态ip,亲测有效
  20. 从零开发HarmonyOS(鸿蒙)手机小游戏——数字华容道

热门文章

  1. 华为留了一手!将继续发布P50、Mate50:搭载麒麟9000...
  2. 饿了么“多等5分钟”后,美团外卖宣布给骑手留出8分钟...
  3. 微信小程序上线订单管理功能:实现订单管理、售后维权一体化
  4. 高速ETC劝大家不要抬杠:真文案鬼才!
  5. 高德地图10.0版本正式发布,升级为国民出行平台
  6. 星巴克、喜茶们左右围守 瑞幸的大师故事还能讲多久
  7. 宴席终将散场!苹果首席设计师将离职创业 已供职于苹果近30年
  8. 影院要求自费购买3D眼镜是“霸王条款” 官方都开始吐槽了!
  9. 屏幕强大!一加7 Pro海外版发布:2K分辨率 90Hz刷新率
  10. 惊喜不止小米9!小米又一4800万新机确认:不给友商机会?