您的位置:首页 > 其它

RPC(Remote Procedure Call Protocol)——远程过程调用协议

2016-09-12 16:43 465 查看

RPC 远程过程调用协议

RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层。RPC使得开发包括网络分布式多程序在内的应用程序更加容易。

RPC是系统间的一种通信方式,系统间常用的通信方式还有http,webservice,rpc等,一般来讲rpc比http和webservice性能高一些,常见的RPC框架有:Thrift,Finagle,Hessian , dubbo,grpc,json-rpc , CORBA、Java RMI、Web Services、RESTful Web Services等。

主要包含两个大方面:

1、A系统与B系统之间的连接传输(如:socket连接)

2、序列化与反序列化

简单的说,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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  RPC 分布式 远程调用