rpc与rmi
RPC和RMI的基本区别在于RPC是一种机制,它支持在远程计算机上调用过程,而RMI是RPC在java中的实现。RPC与语言无关,但只支持要传递的原始数据类型。另一方面,RMI仅限于Java,但允许传递对象。RPC遵循传统的面向对象的结构,而RPC支持过程化设计。
什么是rpc(rpc)?
RPC进程,代表远程过程类型。这允许在本地计算机或远程计算机上运行的另一个进程中调用函数。这个概念早在1980年就出现了,但是第一个著名的实现是在Unix中看到的。
RPC包括几个步骤。客户端像往常一样在本地计算机上执行过程调用。名为client stub的模块收集参数并创建消息并传递给操作系统,操作系统执行系统调用并将此消息发送到远程计算机。服务器中的操作系统收集消息并传递到服务器上名为服务器存根的模块。然后服务器存根调用服务器上的过程。最后,将结果发送回客户端。
使用RPC的优点是它独立于网络细节。程序员只需以抽象的方式指定,而操作系统将负责内部网络的详细信息。因此,这使得编程变得更容易,并且允许RPC在任何网络上工作,尽管物理和协议存在差异。RPC实现存在于所有主流操作系统中,如Unix、Linux、Windows和OS X。RPC通常是语言中立的,因此它将数据类型限制为最原始的类型,因为它们必须是所有语言通用的。RPC中的方法不是面向对象的,但它是一种传统的过程机制,就像在C中一样。
什么是rmi公司(rmi)?
RMI代表远程方法调用(remotemethodinvocation),是一个API(应用程序编程接口),它在java中实现RPC,以支持面向对象的特性。这允许在驻留在同一台计算机或远程计算机上的另一个Java虚拟机上调用Java方法。RMI的局限性是只能调用Java方法,但这有一个优点,即对象可以作为参数和返回值传递。当性能被认为比RPC慢时,由于涉及Java虚拟机上的字节码,RMI对程序员非常友好,并且非常容易使用。
RMI在Java中使用了内置的安全机制,还提供了一个支持使用非TCP自定义传输层协议的套接字工厂。此外,RMI提供了绕过防火墙的方法。RMI中发生的步骤与RPC类似。RMI的实现负责内部网络细节,程序员不必担心这些细节。
rpc(rpc)和rmi公司(rmi)的区别
•RPC是语言中立的,而RMI仅限于Java。
•RPC与C语言类似,但RMI是面向对象的。
•RPC只支持原始数据类型,而RMI允许对象作为参数和返回值传递。当使用RPC时,程序员必须将任何复合对象拆分为原始数据类型。
•RMI易于编程该RPC。
•RMI比RPC慢,因为RMI涉及java字节码的执行。
•由于面向对象的特性,RMI允许使用设计模式,而RPC不具备这种功能。
摘要:
rpc与rmi
RPC是一种语言无关的机制,允许在远程计算机上调用过程。但是,语言中立特性限制了作为参数传递的数据类型,并将值返回给基元类型。RMI是RPC在Java中的实现,它还支持对象传递,使程序员的生活更轻松。RMI的优点是支持面向对象的设计,而对Java的限制则是一个缺点。
- CAPS Enterprise的同步与异步RPC(CC by-SA 3.0)