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 调用。
相关推荐
丑小鸭是白天鹅1 小时前
嵌入式C语言学习笔记之枚举、联合体
c语言·笔记·学习
小浣浣2 小时前
为何她总在关键时“失联”?—— 解密 TCP 连接异常中断
网络·网络协议·tcp/ip
曳渔2 小时前
UDP/TCP套接字编程简单实战指南
java·开发语言·网络·网络协议·tcp/ip·udp
楼田莉子2 小时前
C++算法题目分享:二叉搜索树相关的习题
数据结构·c++·学习·算法·leetcode·面试
Xの哲學4 小时前
Perf使用详解
linux·网络·网络协议·算法·架构
奶黄小甜包4 小时前
C语言零基础第18讲:自定义类型—结构体
c语言·数据结构·笔记·学习
fqbqrr6 小时前
2508C++,支持rdma通信的高性能rpc库
c++·rpc
青石路6 小时前
RPC 是通信协议吗 ?→ 我们来看下它的演进过程
rpc
rannn_1116 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
网络研究院7 小时前
新的“MadeYouReset”方法利用 HTTP/2 进行隐秘的 DoS 攻击
网络·网络协议·安全·http·攻击·漏洞