RPC结构是怎样的

发布时间:2022-01-05 12:01:04 作者:iii
来源:亿速云 阅读:197

这篇文章主要介绍“RPC结构是怎样的”,在日常操作中,相信很多人在RPC结构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”RPC结构是怎样的”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

RPC 是什么?

RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的,本质上编写的调用代码基本相同。

rpc结构

RPC 这个概念术语在上世纪 80 年代由 Bruce Jay Nelson 提出,参考他的论文Implementing Remote Procedure Calls。

Nelson 的论文中指出实现 RPC 的程序包括 5 个部分:

这 5 个部分的关系如下图所示

RPC结构是怎样的  

这里 user 就是 client 端,当 user 想发起一个远程调用时,它实际是通过本地调用 user-stub。user-stub 负责将调用的接口、方法和参数通过约定的协议规范进行编码并通过本地的 RPCRuntime 实例传输到远端的实例。远端 RPCRuntime 实例收到请求后交给 server-stub 进行解码后发起本地端调用,调用结果再返回给 user 端。

 

RPC 调用分类

RPC 调用分以下两种:

异步和同步的区分在于是否等待服务端执行完成并返回结果。

 

RPC 结构拆解

rpc的详细组件如下:

RPC结构是怎样的  

RPC 服务方通过 RpcServer 去导出(export)远程接口方法,而客户方通过 RpcClient 去引入(import)远程接口方法。客户方像调用本地方法一样去调用远程接口方法,RPC 框架提供接口的代理实现,实际的调用将委托给代理RpcProxy 。代理封装调用信息并将调用转交给RpcInvoker 去实际执行。在客户端的RpcInvoker 通过连接器RpcConnector 去维持与服务端的通道RpcChannel,并使用RpcProtocol 执行协议编码(encode)并将编码后的请求消息通过通道发送给服务方。

RPC 服务端接收器 RpcAcceptor 接收客户端的调用请求,同样使用RpcProtocol 执行协议解码(decode)。解码后的调用信息传递给RpcProcessor 去控制处理调用过程,最后再委托调用给RpcInvoker 去实际执行并返回调用结果。

RPC 组件职责

各个组件的职责如下:

到此,关于“RPC结构是怎样的”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

推荐阅读:
  1. 什么是结构类型
  2. Oracle结构是怎样的

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

rpc

上一篇:OSS Select使用SQL语句选取OSS文件的内容

下一篇:怎么使用CloudFare免费套餐加速网站并支持SSL证书

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》