zoukankan      html  css  js  c++  java
  • Atitit.分布式远程调用  rpc  rmi  CORBA的关系

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

     

     

    1. 远程调用(包括rpcrmirest1

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

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

    4. 传输的数据2

    5. 序列化与反序列化3

    6. ref  谁能用通俗的语言解释一下什么是 RPC 框架? - Java - 知乎.html3

     

     

    1. 远程调用(包括rpcrmirest

     

    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(开放软件基金会的远程过程调用)

    · CORBACommon Object Request Broker Architecture公共对象请求代理体系结构)

    · DCOM(分布式组件对象模型),COM+

    · Java RMI

    · .NET Remoting

    · XML-RPCSOAPWeb Service

    · PHPRPCHessianJSON-RPC

    · Microsoft WCFWebAPI

    · ZeroC IceThriftGRPC

    · 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

     

     

     

  • 相关阅读:
    Oracle基础知识整理
    linux下yum安装redis以及使用
    mybatis 学习四 源码分析 mybatis如何执行的一条sql
    mybatis 学习三 mapper xml 配置信息
    mybatis 学习二 conf xml 配置信息
    mybatis 学习一 总体概述
    oracle sql 语句 示例
    jdbc 新认识
    eclipse tomcat 无法加载导入的web项目,There are no resources that can be added or removed from the server. .
    一些常用算法(持续更新)
  • 原文地址:https://www.cnblogs.com/attilax/p/5777808.html
Copyright © 2011-2022 走看看