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 调用。
相关推荐
阿阳微客3 小时前
Steam 搬砖项目深度拆解:从抵触到真香的转型之路
前端·笔记·学习·游戏
工控小楠6 小时前
DeviceNet转Modbus TCP网关的远程遥控接收端连接研究
网络·网络协议·devicenet·profient
Chef_Chen8 小时前
从0开始学习R语言--Day18--分类变量关联性检验
学习
键盘敲没电8 小时前
【IOS】GCD学习
学习·ios·objective-c·xcode
midsummer_woo8 小时前
【2025年】解决Burpsuite抓不到https包的问题
网络协议·http·https
海的诗篇_9 小时前
前端开发面试题总结-JavaScript篇(一)
开发语言·前端·javascript·学习·面试
光芒Shine9 小时前
【物联网-TCP/IP】
网络·网络协议·tcp/ip
AgilityBaby9 小时前
UE5 2D角色PaperZD插件动画状态机学习笔记
笔记·学习·ue5
AgilityBaby9 小时前
UE5 创建2D角色帧动画学习笔记
笔记·学习·ue5
武昌库里写JAVA10 小时前
iview Switch Tabs TabPane 使用提示Maximum call stack size exceeded堆栈溢出
java·开发语言·spring boot·学习·课程设计