远程过程调用的优点和缺点是什么

时间:2010-04-07 06:25:48

标签: process distributed rpc

任何人都可以提供具体的链接,引用RPC优于其他进程间通信模型的优势。

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

先谢谢你。

1 个答案:

答案 0 :(得分:2)

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

  1. 应用层:很多,包括HTTP,RPC等
  2. 传输层:TCP(其他存在,包括UDP,ICMP)
  3. 网络层:IP
  4. 链接层
  5. 物理层
  6. RPC将位于应用程序层中,因此我并不真正看到HTML将如何参与。

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

    Waldo et al.非常好地描述了这个问题(严肃地说,这是一篇优秀的论文)。分布式系统存在独立系统中没有的问题:延迟;部分失败;不同的内存访问模型。这些是分布式计算的“硬部分”。 RPC解决了“简单部分”:编组和解组数据,同时对硬部件进行打印,最有可能导致错误的安全感。