远程过程调用的优缺点是啥

Posted

技术标签:

【中文标题】远程过程调用的优缺点是啥【英文标题】:What are the advantages and disadvantages of Remote Procedure Calls远程过程调用的优缺点是什么 【发布时间】:2010-04-07 06:25:48 【问题描述】:

谁能提供具体的链接,说明 RPC 相对于其他进程间通信模型的优势。

还有 RPC 是否最适合 TCP/IP 或 html 或类似的其他传输介质。

谢谢,提前。

【问题讨论】:

您还想到了哪些其他进程间通信模型?有很多,它们都有自己的优点和缺点。另外,不确定 HTML 与任何东西有什么关系...? 其实我正在寻找所有进程间通信模型的 adv 和 disadv。 【参考方案1】:

我认为您正在混合和匹配互联网堆栈的各个部分。在five-layer layer network model 之后(还有一个seven layer model 可以比较),

    应用层:很多,包括 HTTP、RPC 等。 传输层:TCP(其他存在,包括 UDP、ICMP) 网络层:IP 链路层 物理层

RPC 将位于应用程序层,所以我真的不知道 HTML 会如何参与。

关于 RPC: 它(以及其他类似的协议,如Java's RMI)为您提供了一种透明地调用位于网络中另一台计算机上的过程的方法,就好像它是本地的一样。这是一件好事吗?从表面上看,它似乎使分布式计算更容易,但这可能是一种错觉。因为将分布式系统视为单台计算机可能是一种非常危险的编程方式。

Waldo et al. 很好地描述了这个问题(说真的,这是一篇很棒的论文)。分布式系统有独立系统没有的问题:延迟;部分失败;不同的内存访问模型。这些是分布式计算的“难点”。 RPC 解决了“简单的部分”:编组和解组数据,同时掩盖了困难的部分,并且很可能导致错误的安全感。

【讨论】:

有人可能会注意到,RPC 不仅解决了编组的“简单部分”,而且通常还解决了在两个远程实体之间建立和维护连接的“中间到困难部分”。 “沃尔多等人”链接已死。这是一面镜子:A Note on Distributed Computing(Jim Waldo、Geoff Wyant、Ann Wollrath、Sam Kendall)

以上是关于远程过程调用的优缺点是啥的主要内容,如果未能解决你的问题,请参考以下文章

PyRo 和 RPyC python 库的优缺点是啥?

gRPC介绍

php rpc好用吗,有啥优缺点?php rpc框架哪个好?

PRC是什么 | 图解系列

PRC是什么 | 图解系列

Dubbo简介及优缺点