Spark RPC

Posted chengwuyouxin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark RPC相关的知识,希望对你有一定的参考价值。

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不在同一进程中 








以上是关于Spark RPC的主要内容,如果未能解决你的问题,请参考以下文章

spark提交参数解析

科普Spark,Spark是啥,如何使用Spark

Spark系列

Spark-01 spark简介

Spark 内核 Spark 内核解析-下

Spark官方文档: Spark Configuration(Spark配置)