远程对象方法调用并不是新概念,远程过程调用 (RPC-remote procedure call) 已经使用很多年了。远程过程调用被设计为在应用程序间通信的平台中立的方式,它不理会操作系统之间以及语言之间的差异。即 RPC 支持多种语言,而 RMI(Remote Method Invocation)只支持 Java 写的应用程序。
另外 RMI 调用远程对象方法,允许方法返回 Java 对象以及基本数据类型。而 RPC 不支持对象的概念,传送到 RPC 服务的消息由外部数据表示 (External Data Representation, XDR) 语言表示,这种语言抽象了字节序类和数据类型结构之间的差异。只有由 XDR 定义的数据类型才能被传递, RPC 不允许传递对象。可以说 RMI 是面向对象方式的 Java RPC 。
RMI和RPC之间最主要的区别在于方法是如何被调用的。在RMI中,远程接口使每个远程方法都具有方法签名。如果一个方法在服务器上执行,但是没有相匹配的签名被添加到这个远程接口上,那么这个新方法就不能被RMI客户方所调用。
在RPC中,当一个请求到达RPC服务器时,这个请求就包含了一个参数集和一个文本值,通常形成“classname.methodname”的形式。这就向RPC服务器表明,被请求的方法在为“classname”的类中,名叫“methodname”。然后RPC服务器就去搜索与之相匹配的类和方法,并把它作为那种方法参数类型的输入。这里的参数类型是与RPC请求中的类型是匹配的。一旦匹配成功,这个方法就被调用了,其结果被编码后返回客户方。
- 浏览: 491934 次
- 性别:
- 来自: 杭州
最新评论
-
herofighter2008:
图呢?图呢?图呢?图呢?
BlockingQueue -
zy13608089849:
请问一下博主,文中几处提到的图,怎么都没有?是我这显示不出来还 ...
BlockingQueue -
swift911:
在短信的场景下很好用,感谢分享
BlockingQueue -
tony_0529:
学习了~谢谢分享。
BlockingQueue -
Master-Gao:
...
BlockingQueue
相关推荐
rmi和rpc
技术分享:分布式环境下Java RMI与RPC,JMS,CORBA,DCOM的比较
Java RPC和RMI代码实战,有关键注释,为最简案例。Maven搭建,JDK8编译。 RPC体验:依次运行RpcProvider和RpcConsumer类。 RMI体验:RMITest中依次运行testServer和testClient方法。
RMI(Remote Method Invocation)远程方法调用与RPC(Remote Procedure Call Protocol)远程过程调用协议 文章目录RMI(Remote Method Invocation)远程方法调用与RPC(Remote Procedure Call Protocol)远程过程调用...
传输协议中立 ,即支持tcp、udp等传输协议RPC中传输的数据是通过外部数据格式描述的,RPC中没有对象的概念RMI只适用于java,采用tcp/ip协议实现
讲述远程方法调用和远程过程调用的异同,让你的程序设计得更好
RPC RMI example pdf explanation
#资源达人分享计划#
Hessian RPC-RMI技术 整合Structs Spring Hibernate Ibatis 包含Hessian配置说明、服务器Server Demo、客户端Client Demo.
内容包括,dubbo的消费者demo,提供者demo, hession的demo, rpc的demo,
远程调用一般分为两种,远程过程调用(RPC)和远程方法调用(RMI)。 RPC RPC属于函数级别的远程调用,其多是通过HTTP传输数据,数据形式有XML、JSON、序列化数据等。在此,用python做一个xml-rpc的示例。 先给...
分布式系统课上留的作业哦!!!应该很有用的,大家支持啊!!!
架构师的前置知识有dubbo_ demo、角色_ RPC_原理 _RMI这些。。。。。。。。。。。。。。。。。。。。。。。
主要介绍了RPC、RMI、SOAP的区别详解,本文还同时讲解了RPC、SOAP、WSDL的关系,需要的朋友可以参考下
1.1 作业描述 设计一个生成和显示时间的分布式应用程序,实现以下功能: 1、 一个服务器生成时间,并在多个不同节点的客户端上显示。 2、 客户端有多种时间显示方式,如模拟时钟、数字...4、 使用RPC机制或RMI机制。
1. 远程调用RMI(Remote Method Invocation): 通过使用 RmiProxyFactoryBean 和 RmiServiceExporter,并且,Spring支持两个传统的RMI(使用 java.rmi.Remote接口和java.rmi.RemoteException)和通过RMI调用器实现的...
RPC的实现,使用thrift和rmi两种方式处理,实现服务器之间的交互,性能优异,使用方便
java运行依赖jar包
RPC是远程过程调用的简称,广泛应用在大规模分布式应用中,作用是有助于系统的垂直拆分...其他的框架结构也类似,区别在于对象的序列化方法,传输对象的通讯协议,以及注册中心的管理与failover设计(利用zookeeper)。