Spark RPC

懵懂的女人 提交于 2020-01-23 13:02:37

Spark RPC是spark个模块之间通信的基础,之前采用的事akka模型,在1.6之后基于netty编写了类似于akka的通信框架.

spark RPC涉及到的类图如下

 

RpcEnv是RPC模块中的主要的抽象类,其中定义了RPC调用涉及的主要对象和方法。RpcEnv负责注册维护RpcEndpoint和RpcEndpointRef 


RpcEndPoint:负责消息处理的类,根据收到的消息来决定调用哪个函数,主要包含receive和receiveAndReply两个方法 

RpcEndpintRef:远程RpcEndpoint对应的引用,想对应的RpcEndpoint发送消息 

RpcAddress:维护RPC环境的地址和端口号 

 

RpcCallContext:在RpcEndpoint中使用,RpcEndpoint处理完信息后,调用RpcCallContext返回信息或者错误 
LocalNetty RpcCallContext:当sender和receiver在同一进程中使用 
RemoteNetty RpcCallContext:当sender和receiver不在同一进程中 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!