这里是修真院后端小课堂,每篇分享文从
八个方面深度解析后端知识/技能,本篇分享的是:
【什么是RMI,什么是RPC,两者之间的区别是什么?】
大家好,我是IT修真院北京分院第34期的学员岳晓鹏,一枚正直纯洁善良的java程序员,今天给大家分享一下,修真院官网java任务八,深度思考中的知识点——什么是RMI,什么是RPC,两者之间的区别是什么?
(1)背景介绍:
RMI
Java远程方法调用,即Java RMI(Java Remote Method Invocation)是Java编程语言里, 一种用于实现远程过程调用的应用程序编程接口。它使客户机上运行的程序可以调用远程服务器上的对象。 远程方法调用特性使Java编程人员能够在网络环境中分布操作。RMI全部的宗旨就是尽可能简化远程接口对象的使用。 Java RMI极大地依赖于接口。在需要创建一个远程对象的时候,程序员通过传递一个接口来隐藏底层的实现细节。 客户端得到的远程对象句柄正好与本地的根代码连接,由后者负责透过网络通信。 这样一来,程序员只需关心如何通过自己的接口句柄发送消息。
RPC
RPC 的全称是 Remote Procedure Call 是一种进程间通信方式。 它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。 即程序员无论是调用本地的还是远程的,本质上编写的调用代码基本相同。
(2)知识剖析:
RPC 与其它远程调用方式比较
RPC 与 HTTP、RMI、Web Service 都能完成远程调用,但是实现方式和侧重点