RPC 和 RMI 是使客户端能够通过客户端与服务器 RMI 之间的联系来调用服务器上的进程或系统的协议。 RMI 和 RPC 之间的主要区别在于常规数据结构已用于传递给远程操作的参数。
RMI 遵循以对象为中心的范例,其中用户必须知道他必须调用的对象和对象函数。
RPC 不以对象为中心,无法通过对比处理对象。 相反,它调用那些已经创建的子程序。 RPC 基于 C,而另一方面,RMI 是一种基于 Java 的技术,由于形式化的编程语义,它是面向对象的。
关键精华
- RPC 是一种允许网络上不同进程之间进行通信的协议,而 RMI 是 RPC 的特定于 Java 的实现。
- RPC 与平台无关,可以与各种编程语言一起使用,而 RMI 仅限于 Java。
- RPC 使用客户端-服务器架构,而 RMI 使用分布式面向对象架构。
RPC 与 RMI
各种进程之间的通信可以通过称为 RPC(远程过程调用)的协议来完成。 它是一种客户端-服务器架构。 RPC 使用不同类型的协议。 RMI(Remote Method Invocation)是一种面向对象的架构。 RMI 使用 Java RMI 协议。 RMI 支持复杂的数据结构。
RPC 代表支持过程编程的远程过程调用进程。
这些机制允许 IPC 处理共享信息以及一个环境,在这个环境中,完全不同的进程在各个系统上受到死刑,并且对于依赖于消息的联系是必要的。
RMI全称Remote Method Invocation,类似于PRC但支持基于目标的软件,这是Java的特点。 线程可以决定外部实体的技术。
RMI 将工件作为参数而不是普通数据传递。 允许远程项目上的字符串调用交互。 它使用存根和骨架执行远处的对象以保证 顾客 和工人之谜。
对比表
比较参数 | RPC的 | RMI |
---|---|---|
特征: | RPC 是图书馆和操作系统的网站。 | 这是一个java论坛。 |
专栏 | RPC 有助于程序的编程。 | RMI 支持面向对象的编程。 |
功率 | RPC 没那么强大。 | RMI 更强大。 |
的故事 | 没有对 RPC 的保护。 | 它在客户级别提供保护。 |
应用领域 | 对于基本的 RPC 应用程序,需要几个代码。 | 不需要用于基本 RMI 应用程序的多个代码。 |
什么是 RPC?
远程过程调用(RPC)是一种通用的进程通信(IPC) 范例 在不同网络计算机上的进程之间。 它广泛存在于不同的分布式系统中。
虽然实现在概念上简单方便,但会出现几个明显而微妙的问题,导致 RPC 的不同实现过程。
基于本地过程调用语义的分布式计算的编程语言函数是远程过程调用(RPC)。 它是最常见的远程服务类型,旨在概括网络连接网络之间的调用过程。
使用 RPC,您可以调用导出到服务器的远程函数。 使用 RMI,您可以获得远程引用并调用它们的进程。 还可以传递和返回更多的远程对象引用,所以就强多了。
IPC 框架帮助流程管理共享数据并处理各种流程在各个系统上运行并需要通过消息进行通信的环境。
这些 RPC 将讨论它们的设计目标、功能、调用语义、孤儿处理、链接、启用的传输协议、安全/身份验证、数据表示和应用程序编程接口。
什么是 RMI?
RMI 类似于 RPC,但具有语言和 Java 功能。 远程方法调用,允许远程对象上的线程调用进程。 它使用存根和框架实现远程对象,以确保客户端和服务器的保密性。
每当客户端调用远程方法时,都会命名远程方法的存根。
客户存根应负责制作和发送包,包中包含程序名称和元帅中的标准,骨架应接收包裹。
由于其在数据和往返行程中的高开销协议,Java RMI 通过慢速无线连接的通信性能很差。
RMI 在需要比客户服务器体系结构更复杂的地方脱颖而出。 通过网络分发对象非常容易,允许所有客户进行通信而无需直接建立单独的链接。
在不违反 Java RMI 规范的情况下,可以通过对其当前设备和网络主机可靠性进行微小修改来改进它。
该报告分析了 Java RMI 低结果背后的因素,描述了基于中介的方法,并评估了实现原型的解决方案的性能。
RPC 和 RMI 的主要区别
- RPC 支持特定于 C 的过程编程范例,而 RMI 支持特定于 Java 的范例。
- 普通参数中的数据结构被传递给RPC中的远程过程,而RMI将对象作为参数传递给远程方法。
- RPC 被认为是最古老的 RMI 版本,它用于支持编程语言中的过程编程,而 RMI 是根据现代编程方法开发的,可以使用值或引用传递。
- RPC传递的参数必须是“in”,保证传入值和输出值的数据形式相同,而RMI中“in-out”参数的传递是不必要的。
- RPC 中的引用是不可能的,因为在两个进程中都有不同的地址空间,而这在使用 RMI 时是可行的。
- http://webster.cs.uga.edu/~maria/pads/papers/p747-maassen.pdf
- http://webster.cs.uga.edu/~maria/pads/papers/p747-maassen.pdf
最后更新时间:17 年 2023 月 XNUMX 日
Sandeep Bhandari 拥有塔帕尔大学计算机工程学士学位(2006 年)。 他在技术领域拥有 20 年的经验。 他对各种技术领域都有浓厚的兴趣,包括数据库系统、计算机网络和编程。 你可以在他的网站上阅读更多关于他的信息 生物页面.
比较表结构良好,可以更轻松地掌握 RPC 和 RMI 之间的差异。
使用存根和骨架实现 RMI 的详细概述令人着迷,并显示了该技术的复杂性。
RMI 比 RPC 更强大的论点很有说服力。然而,探索 RMI 的强大功能的详细用例将会很有趣。
有关 RPC 和 RMI 的内容显示了所涉及的高水平专业知识。然而,它可以受益于更具吸引力的写作风格来吸引读者。
有关 RPC 和 RMI 的信息内容丰富且简洁。感谢您阐明两者之间的区别。
RPC 和 RMI 通信性能之间的幽默比较为这篇文章增添了讽刺的元素,使其读起来很有趣。
关于 RPC 和 RMI 的解释有助于理解内部工作原理及其协议。它具有启发性且结构良好。
我完全同意。详细的比较拓宽了我对 RPC 和 RMI 的了解。
这篇文章提供了对 RPC 和 RMI 的清晰理解,但缺乏现实生活中的示例。包括实际应用将是有益的。
对RMI远程对象调用的解释清晰而富有洞察力,可以更深入地理解其功能。
RPC 和 RMI 之间的比较非常有帮助。了解它们的特性和用例的差异是很有趣的。