Atitit.分布式远程调用  rpc  rmi  CORBA的关系

1. 远程调用(包括rpc,rmi,rest)1

2. 分布式调用大体上就分为两类,RPC式的,REST式的1

3. RPC(远程过程调用)是什么 1

4. 传输的数据2

5. 序列化与反序列化3

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://www.cnblogs.com/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

最新文章

  1. [LeetCode] Substring with Concatenation of All Words 串联所有单词的子串
  2. 基础笔记(三):网络协议之Tcp、Http
  3. Angular2+typescript+webpack2(支持aot, tree shaking, lazy loading)
  4. 黑马程序员——JAVA基础之简述多线程,两种创建多线程的方式
  5. modeler与activiti进行整合
  6. Chrome浏览器扩展开发系列之十九:扩展开发示例
  7. LIRe 源代码分析 2:基本接口(DocumentBuilder)
  8. Want To Say Something
  9. ElasticSearch 2 (11) - 节点调优(ElasticSearch性能)
  10. 西安电子科技大学第16届程序设计竞赛网络同步赛 G-小国的复仇
  11. 锐捷 Fat/Fit Ap切换
  12. ASP.NET使用百度编辑器(UEditor)使用方法
  13. liferay中数据库表的解析未完
  14. ASP.NET Core 装X利器SignalR:电子画板
  15. HLS图像处理系列——肤色检測
  16. 菜单条 Menu Bar Action
  17. 95. Unique Binary Search Trees II (Tree; DFS)
  18. python生成百分数
  19. Spring:面向切片编程
  20. Java_MD5的使用

热门文章

  1. 【mysql】mysql统计查询count的效率优化问题
  2. Spring MVC一事务控制问题
  3. Python学习(四)数据结构 —— set frozenset
  4. iOS: 如何调节UITabbarItem的图片和文字位置
  5. GPGPU OpenCL 精确字符串查找
  6. javascript模拟post提交
  7. 安装Office2007时出现1706错误的解决方案
  8. Linux laravel安装
  9. gedit如何使用代码片段
  10. EF增删改查的优化