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

一.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

文章来源:http://blog.csdn.net/lin6286878/article/details/52514786

猜你喜欢

转载自bijian1013.iteye.com/blog/2413425