You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

远程过程调用(RPC)中stub术语的由来及本义与功能的关联

为什么stub术语会被用于RPC场景

stub(桩)这个术语在软件开发领域很早就被用来指代仅暴露接口定义、自身不实现核心业务逻辑的占位代码,核心作用是屏蔽底层实现差异,让调用方可以用统一的方式调用逻辑。
RPC框架的核心设计目标就是抹平本地调用和远程调用的差异,让开发者调用远程方法和调用本地方法的体验完全一致,不需要感知网络通信、序列化/反序列化这些底层逻辑,stub刚好承担了这个本地占位的角色:

  • 客户端stub:和远端服务暴露的方法签名完全一致,开发者本地调用的实际就是客户端stub的方法,它会自动完成参数序列化、网络请求发送、响应结果反序列化的工作,把本地调用转换成远程请求
  • 服务端stub(部分场景也叫skeleton骨架):负责接收客户端发来的请求,反序列化参数后调用本地真实的业务实现,再把返回值序列化后发回给客户端

stub本义和RPC功能的关联

stub的本义是「残根、存根、桩」,最常见的场景比如票据撕下有效部分后留存的存根、树木砍伐后留在地面的残桩,核心特征有两个:

  1. 它是完整实体的对应凭证/局部残留,本身不具备完整实体的核心功能
  2. 你可以通过它直接关联到对应的完整实体,不需要直接和完整实体打交道
    这个特征刚好和RPC里stub的功能完全匹配:
  • 本地的stub就是远端完整服务的「存根/残桩」,它只有和远端服务一致的方法签名,本身不实现任何业务逻辑,相当于完整服务留在调用侧的一小截残留
  • 调用方不需要直接对接远端服务,只要操作本地的stub就能完成远程调用,和你拿着票据存根就能对应到完整票据的逻辑完全一致。你提到的维基百科定义里的「转换客户端与服务端之间传递的参数」,就是stub作为关联凭证的核心工作内容。

内容的提问来源于stack exchange,提问作者Zhu Li

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 14:36:02