Atitit.分布式远程调用 rpc rmi CORBA的关系
Atitit.分布式远程调用 rpc rmi CORBA的关系
2. 分布式调用大体上就分为两类,RPC式的,REST式的1
6. ref 谁能用通俗的语言解释一下什么是 RPC 框架? - Java - 知乎.html3
1. 远程调用(包括rpc,rmi,rest)
RPC的协议有很多,比如最早的CORBA,Java RMI,Web Service的RPC风格,Hessian,Thrift,甚至Rest API。
2. 分布式调用大体上就分为两类,RPC式的,REST式的
,两者的区别主要是就是:
1. RPC是面向动作的(方法调用)
2. REST是面向资源的(URL表示资源,HTTP动词表示动作)
3. RPC(远程过程调用)是什么
· 简单的说,RPC就是从一台机器(客户端)上通过参数传递的方式调用另一台机器(服务器)上的一个函数或方法(可以统称为服务)并得到返回的结果。
· RPC 会隐藏底层的通讯细节(不需要直接处理Socket通讯或Http通讯)
· RPC 是一个请求响应模型。客户端发起请求,服务器返回响应(类似于Http的工作方式)
· RPC 在使用形式上像调用本地函数(或方法)一样去调用远程的函数(或方法)。
远程过程调用发展历程
· ONC RPC (开放网络计算的远程过程调用),OSF RPC(开放软件基金会的远程过程调用)
· CORBA(Common Object Request Broker Architecture公共对象请求代理体系结构)
· DCOM(分布式组件对象模型),COM+
· Java RMI
· .NET Remoting
· XML-RPC,SOAP,Web Service
· PHPRPC,Hessian,JSON-RPC
· Microsoft WCF,WebAPI
· ZeroC Ice,Thrift,GRPC
· Hprose
作者:: ★(attilax)>>> 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 汉字名:艾龙, EMAIL:1466519819@qq.com
转载请注明来源: http://blog.csdn.net/attilax
4. 传输的数据
在RPC执行过程中,客户端与服务端需要相互传输数据,我们分别称之为客户端数据和服务端数据。对此的说明如下表:
客户端数据:
函数名:服务端PHP脚本中存在的函数。
函数参数:客户端JavaScript脚本中的变量值。
服务端数据:
函数返回值:执行服务端PHP函数的返回值。
5. 序列化与反序列化
为了要传输客户端的变量值和服务端的函数返回值,需要对其进行序列化处理。与之相对应的在传输后还要进行反序列化处理。
JavaScript中的变量的类型:基本类型和JSON类型(普通数组、元对象)
PHP中的变量类型:基本类型和数组(普通数组和关联索引数组)
PHP语言具有序列化和反序列化函数,而JavaScript语言中没有,因此我们要自己实现它。
6. ref
谁能用通俗的语言解释一下什么是 RPC 框架? - Java - 知乎.html
几种分布式调用技术的比较 -- RPC VS REST - ITer_ZC的专栏 - 博客频道 - CSDN.NET.html
三种主流的Web服务实现方案(REST+SOAP+XML-RPC)简述及比较 - Alexia(minmin) - 博客园.html
如何实现 JavaScript RPC 应用 - shishengsoft的专栏 - 博客频道 - CSDN.NET.html