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不在同一进程中
posted on 2018-08-27 19:07 chengwuyouxin 阅读( ...) 评论( ...) 编辑 收藏转载于:https://www.cnblogs.com/chengwuyouxin/p/9544167.html