RPC 与 RMI:区别与比较

RPC 和 RMI 是使客户端能够通过客户端与服务器 RMI 之间的联系来调用服务器上的进程或系统的协议。 RMI 和 RPC 之间的主要区别在于常规数据结构已用于传递给远程操作的参数。

RMI 遵循以对象为中心的范例,其中用户必须知道他必须调用的对象和对象函数。

RPC 不以对象为中心,无法通过对比处理对象。 相反,它调用那些已经创建的子程序。 RPC 基于 C,而另一方面,RMI 是一种基于 Java 的技术,由于形式化的编程语义,它是面向对象的。

关键精华

  1. RPC 是一种允许网络上不同进程之间进行通信的协议,而 RMI 是 RPC 的特定于 Java 的实现。
  2. RPC 与平台无关,可以与各种编程语言一起使用,而 RMI 仅限于 Java。
  3. RPC 使用客户端-服务器架构,而 RMI 使用分布式面向对象架构。

RPC 与 RMI

各种进程之间的通信可以通过称为 RPC(远程过程调用)的协议来完成。 它是一种客户端-服务器架构。 RPC 使用不同类型的协议。 RMI(Remote Method Invocation)是一种面向对象的架构。 RMI 使用 Java RMI 协议。 RMI 支持复杂的数据结构。

RPC 与 RMI

RPC 代表支持过程编程的远程过程调用进程。

这些机制允许 IPC 处理共享信息以及一个环境,在这个环境中,完全不同的进程在各个系统上受到死刑,并且对于依赖于消息的联系是必要的。

RMI全称Remote Method Invocation,类似于PRC但支持基于目标的软件,这是Java的特点。 线程可以决定外部实体的技术。

RMI 将工件作为参数而不是普通数据传递。 允许远程项目上的字符串调用交互。 它使用存根和骨架执行远处的对象以保证 顾客 和工人之谜。

另请参阅:  Vista Ultimate vs Home Premium:差异与比较

对比表

比较参数RPC的RMI
特征: RPC 是图书馆和操作系统的网站。这是一个java论坛。
专栏RPC 有助于程序的编程。RMI 支持面向对象的编程。
功率RPC 没那么强大。RMI 更强大。
的故事没有对 RPC 的保护。它在客户级别提供保护。
应用领域 对于基本的 RPC 应用程序,需要几个代码。不需要用于基本 RMI 应用程序的多个代码。

什么是 RPC?

远程过程调用(RPC)是一种通用的进程通信(IPC) 范例 在不同网络计算机上的进程之间。 它广泛存在于不同的分布式系统中。

虽然实现在概念上简单方便,但会出现几个明显而微妙的问题,导致 RPC 的不同实现过程。

基于本地过程调用语义的分布式计算的编程语言函数是远程过程调用(RPC)。 它是最常见的远程服务类型,旨在概括网络连接网络之间的调用过程。 

使用 RPC,您可以调用导出到服务器的远程函数。 使用 RMI,您可以获得远程引用并调用它们的进程。 还可以传递和返回更多的远程对象引用,所以就强多了。

IPC 框架帮助流程管理共享数据并处理各种流程在各个系统上运行并需要通过消息进行通信的环境。

这些 RPC 将讨论它们的设计目标、​​功能、调用语义、孤儿处理、链接、启用的传输协议、安全/身份验证、数据表示和应用程序编程接口。

什么是 RMI?

RMI 类似于 RPC,但具有语言和 Java 功能。 远程方法调用,允许远程对象上的线程调用进程。 它使用存根和框架实现远程对象,以确保客户端和服务器的保密性。

每当客户端调用远程方法时,都会命名远程方法的存根。

客户存根应负责制作和发送包,包中包含程序名称和元帅中的标准,骨架应接收包裹。

另请参阅:  C++ 与 C#:区别与比较

由于其在数据和往返行程中的高开销协议,Java RMI 通过慢速无线连接的通信性能很差。

RMI 在需要比客户服务器体系结构更复杂的地方脱颖而出。 通过网络分发对象非常容易,允许所有客户进行通信而无需直接建立单独的链接。

在不违反 Java RMI 规范的情况下,可以通过对其当前设备和网络主机可靠性进行微小修改来改进它。

该报告分析了 Java RMI 低结果背后的因素,描述了基于中介的方法,并评估了实现原型的解决方案的性能。

RPC 和 RMI 的主要区别

  1. RPC 支持特定于 C 的过程编程范例,而 RMI 支持特定于 Java 的范例。
  2. 普通参数中的数据结构被传递给RPC中的远程过程,而RMI将对象作为参数传递给远程方法。
  3. RPC 被认为是最古老的 RMI 版本,它用于支持编程语言中的过程编程,而 RMI 是根据现代编程方法开发的,可以使用值或引用传递。
  4. RPC传递的参数必须是“in”,保证传入值和输出值的数据形式相同,而RMI中“in-out”参数的传递是不必要的。
  5. RPC 中的引用是不可能的,因为在两个进程中都有不同的地址空间,而这在使用 RMI 时是可行的。
参考资料
  1. http://webster.cs.uga.edu/~maria/pads/papers/p747-maassen.pdf
  2. http://webster.cs.uga.edu/~maria/pads/papers/p747-maassen.pdf

最后更新时间:17 年 2023 月 XNUMX 日

点1
一个请求?

我付出了很多努力来写这篇博文,为您提供价值。 如果您考虑在社交媒体上或与您的朋友/家人分享,这对我很有帮助。 分享是♥️

关于“RPC 与 RMI:差异与比较”的 11 个思考

  1. 有关 RPC 和 RMI 的内容显示了所涉及的高水平专业知识。然而,它可以受益于更具吸引力的写作风格来吸引读者。

    回复

发表评论

想保存这篇文章以备后用? 点击右下角的心形收藏到你自己的文章箱!