天天看点

spark学习-71-源代码:Endpoint模型介绍(3)-Endpoint Send&Ask流程

spark学习-71-源代码:Endpoint模型介绍(3)-Endpoint Send&Ask流程

1。Endpoint Send&Ask流程

Endpoint的消息发送与请求流程,如下:

spark学习-71-源代码:Endpoint模型介绍(3)-Endpoint Send&Ask流程

从图上看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&
           

继续阅读