千家信息网

RPC结构是怎样的

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"RPC结构是怎样的",在日常操作中,相信很多人在RPC结构是怎样的问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"RPC结构是怎样的"的疑惑有所帮助!接
千家信息网最后更新 2026年10月31日RPC结构是怎样的

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

RPC 是什么?

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

rpc结构

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

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

  • User
  • User-stub
  • RPCRuntime
  • Server-stub
  • Server

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

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

RPC 调用分类

RPC 调用分以下两种:

  • 同步调用:客户方等待调用执行完成并返回结果。
  • 异步调用:客户方调用后不用等待执行结果返回,但依然可以通过回调通知等方式获取返回结果。若客户方不关心调用返回结果,则变成单向异步调用,单向调用不用返回结果。

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

RPC 结构拆解

rpc的详细组件如下:

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

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

RPC 组件职责

各个组件的职责如下:

  • RpcServer:负责导出(export)远程接口
  • RpcClient:负责导入(import)远程接口的代理实现
  • RpcProxy:远程接口的代理实现
  • RpcInvoker:客户方实现:负责编码调用信息和发送调用请求到服务方并等待调用结果返回;服务方实现:负责调用服务端接口的具体实现并返回调用结果
  • RpcProtocol:负责协议编/解码
  • RpcConnector:负责维持客户方和服务方的连接通道和发送数据到服务方
  • RpcAcceptor:负责接收客户方请求并返回请求结果
  • RpcProcessor:负责在服务方控制调用过程,包括管理调用线程池、超时时间等
  • RpcChannel:数据传输通道

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

结果 服务 客户 接口 结构 方法 编码 代理 实际 程序 端的 通道 学习 不用 信息 实例 组件 过程 个部 单向 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 保险科技 互联网保险 广州为想互联网科技有限公司 智网互联网科技 有马互联网科技 亿策互联网科技 广州互联网络科技有限公司 西安互联网科技公司 互联网科技素材视频竖屏 互联网巨头投资的硬核科技 海南科技产业互联网平台 贵州叶脉互联网科技有限公司所属行业 成都铂石互联网科技做什么的 保险科技服务互联网营销体系 中天科技中国工业互联网 上海同邻互联网科技有限公司规模 银川新华互联网科技学校原画 科技互联网公司两年变化 科技互联网企业在行动 如何强化互联网金融科技 武汉亿视互联网科技有限公司 为想互联网科技怎么样 涨乐互联网科技 融贸通互联网科技 隆华科技工业互联网 温州喔噻互联网科技有限公司 阿里互联网科技公司 崇明区互联网教育科技售后服务 成都互联网科技公司工作好不好 浙南科技城互联网大厦建设工程 广州百诚互联网科技有限公司官网
0