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

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:[email protected]

转载请注明来源: 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

时间: 2024-08-02 06:55:45

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

分布式远程服务调用(RPC)框架

分布式远程服务调用(RPC)框架 finagle:一个支持容错,协议无关的RPC系统 热门度(没变化) 10.0 活跃度(没变化) 10.0  Watchers:581 Star:6174 Fork:1138 创建时间: 2010-10-20 06:10:09 最后Commits: 昨天 finagle:一个支持容错,协议无关的RPC系统 访问GitHub主页访问主页 VS Motan 是一套高性能.易于使用的分布式远程服务调用(RPC)框架. 热门度(没变化) 10.0 活跃度(下降) 7.7

远程调用之RMI技术

---恢复内容开始--- RMI已经不是什么新的技术了,但是相对于webservice来说,rmi比较简单,比较适合一些小的应用,下面的helloword列子可以介绍rmi的相关技术 服务器端代码: 服务器接口实现Remote 1 package com.qcf.server; 2 3 import java.rmi.Remote; 4 import java.rmi.RemoteException; 5 /** 6 * 服务类 7 * 定义行为集 8 * @author Administrat

(转)RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC)

在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例. 1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class. 它将会向外提供名字为call的函数,这个call会发送RPC请求并且阻塞知道收到RPC运算的结果.代码如下: [python] vie

RabbitMQ(七):适用于云计算集群的远程调用(RPC)

 在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例. 1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class. 它将会向外提供名字为call的函数,这个call会发送RPC请求并且阻塞知道收到RPC运算的结果.代码如下: [python]

RabbitMQ消息队列(七):适用于云计算集群的远程调用(RPC) [转]

在云计算环境中,很多时候需要用它其他机器的计算资源,我们有可能会在接收到Message进行处理时,会把一部分计算任务分配到其他节点来完成.那么,RabbitMQ如何使用RPC呢?在本篇文章中,我们将会通过其它节点求来斐波纳契完成示例. 1. 客户端接口 Client interface 为了展示一个RPC服务是如何使用的,我们将创建一段很简单的客户端class. 它将会向外提供名字为call的函数,这个call会发送RPC请求并且阻塞知道收到RPC运算的结果.代码如下: [python] vie

storm翻译(3)Distributed RPC(分布式远程调用)

原文地址:http://storm.apache.org/documentation/Distributed-RPC.html 分布式RPC的目的是在storm进行大量的实时计算时,能够并行的调用storm上的函数.Storm topology可以将函数参数作为输入Stream,并且将被调用方法产生的结果作为返回发送出去. 与其说DRPC是storm的一个特点,不如说它只是storm基本概念如steams,spouts,bolts和topologies的一种表达方式.DRPC可以独立于storm

java 远程调用 RPC

1. 概念 RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议.它允许像调用本地服务一样调用远程服务.它可以有不同的实现方式.如RMI(远程方法调用).Hessian.Http invoker等.RPC是与语言无关的.直观说法就是A通过网络调用B的过程方法.也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. 1.首先要解决寻址的

alibaba远程调用框架dubbo原理

alibaba有好几个分布式框架,主要有:进行远程调用(类似于RMI的这种远程调用)的(dubbo.hsf),jms消息服务(napoli.notify),KV数据库(tair)等.这个框架/工具/产品在实现的时候,都考虑到了容灾,扩展,负载均衡,于是出现一个配置中心(ConfigServer)的东西来解决这些问题. 基本原理如图: 在我们的系统中,经常会有一些跨系统的调用,如在A系统中要调用B系统的一个服务,我们可能会使用RMI直接来进行,B系统发布一个RMI接口服务,然后A 系统就来通过RM

Python中实现远程调用(RPC、RMI)简单例子

说白了,远程调用就是将对象名.函数名.参数等传递给远程服务器,服务器将处理结果返回给客户端 远程调用使得调用远程服务器的对象.方法的方式就和调用本地对象.方法的方式差不多,因为我们通过网络编程把这些都隐藏起来了.远程调用是分布式系统的基础. 远程调用一般分为两种,远程过程调用(RPC)和远程方法调用(RMI). RPC RPC属于函数级别的远程调用,其多是通过HTTP传输数据,数据形式有XML.JSON.序列化数据等.在此,用python做一个xml-rpc的示例. 先给服务器端server.p