为什么术语存根用于 RPC?

Why is the term stub used for RPC?

维基百科说

A stub in distributed computing is a piece of code that converts parameters passed between client and server during a remote procedure call (RPC)

stub 这个词的本意与其在 RPC 中的功能有什么关系?

存根是整体的一小部分,就像票根或用过的铅笔的存根。等价地,它是“剪短”的东西。在计算中,存根看起来像方法,但没有方法的逻辑。该方法的处理被“缩短”了,因为其中大部分都丢失了。存根术语也用于“测试存根”(a.k.a.mocks)和“方法存根”。有些人可能会称他们为“替身”。

测试存根很常见,但您可能对方法存根并不熟悉。方法存根是几乎没有实现的方法,它们具有正确的参数和 return 正确的值类型,但没有适当的处理。例如,random() 函数的存根总是 return 4。它们在模拟器和最初实现系统时很常见。

对于 RPC,存根将其方法、请求类型和响应类型转换为 RPC 系统使用的形式。但 RPC 的实际处理是远程完成的。存根本质上只是一种可用性功能,用于提供远程方法在本地出现的外观。