rpc的客户端为什么称为stub

1.client为什么是stub

Stub 在分布式系统中是一种 代理对象(Proxy Object),它本质上是一个在本地系统中扮演远程服务角色的代理。

在早期的 RPC 术语中,客户端端叫做 Stub,而服务器端的处理部分叫做 Skeleton。这种对称性使得命名更加直观。

  • Client Stub:这是客户端用来调用远程服务的方法代理。客户端的代理对象。
  • Server Skeleton:这是服务器端用于接收客户端请求并执行相应服务的方法代理。服务器端的代理对象。

Stub 是一种 接口代理 ,它隐藏了底层的实现细节(如网络传输、序列化等),提供了一种调用远程服务的抽象。由于 Stub 只是远程服务的一种本地代理,而不是一个真正的客户端,因此用 Stub 而非 Client 这个术语可以更好地表达它的作用。

分离逻辑角色与通信角色

命名为 Stub 强调了它的代理特性,而非整个客户端逻辑。在分布式系统中,客户端程序往往有很多复杂的业务逻辑,而 Stub 只是负责和远程服务通信的部分。

  • Client:通常指的是客户端整个应用程序,包含业务逻辑、UI、数据库访问等。
  • Stub:仅指与远程服务交互的代理类,用于发起 RPC 调用。
相关推荐
roshy2 小时前
RPC 与http对比
网络协议·http·rpc
Broken Arrows8 小时前
Linux学习——管理网络安全(二十一)
linux·学习·web安全
今天也要学习吖8 小时前
谷歌nano banana官方Prompt模板发布,解锁六大图像生成风格
人工智能·学习·ai·prompt·nano banana·谷歌ai
雁于飞8 小时前
vscode中使用git、githup的基操
笔记·git·vscode·学习·elasticsearch·gitee·github
rannn_1119 小时前
【Javaweb学习|实训总结|Week1】html基础,CSS(选择器、常用样式、盒子模型、弹性盒布局、CSS定位、动画),js(基本类型、运算符典例)
css·笔记·学习·html
wanzhong233310 小时前
ArcGIS学习-20 实战-地形研究
学习
wanzhong233311 小时前
ArcGIS学习-20 实战-县域水文分析
学习·arcgis
小马学嵌入式~11 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
索迪迈科技11 小时前
java后端工程师进修ing(研一版 || day40)
java·开发语言·学习·算法