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&