`

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

分享到:
评论

相关推荐

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

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

    ZeroC Ice3.7 英文版加注中文书签官方手册.zip

    ZeroC Ice 3.7 手册 ... RPC(Remote Procedure Call Protocol 远程过程调用协议),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC假定某些传输协议的存在,如TCP或UDP,

    基于thrift的RPC调用实例

    RPC(Remote Procedure Call Protocol)远程过程调用协议实例,学习和使用thrift无痛入门代码。具体使用方法,可以看博客详解。

    RPC应用的java实现

    Remote Procedure Call,远程过程调用。也就是说,调用过程代码并不是在调用者本地运行,而是要实现调用者与被调用者二地之间的连接与通信。比较严格的定义是:Remote procedure call (RPC) is a protocol that ...

    RFC1057_RPC远程步骤呼叫协议说明书版本 2 .doc

    (RPC: Remote Procedure Call Protocol Specification Version 2) 备忘录状态 该备忘录表书了Sun为系统和其它系统用应用的标准,和我们期望因特网应用的一个考虑.现在该备忘录还不是一个因特网标准.该备忘录的...

    ZeroC Ice 3.7 手册

    RPC(Remote Procedure Call Protocol 远程过程调用协议),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC假定某些传输协议的存在,如TCP或UDP,为通讯程序之间携带信息数据;在...

    Ice-3.7.1.rar

     RPC(Remote Procedure Call Protocol 远程过程调用协议),是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC假定某些传输协议的存在,如TCP或UDP,为通讯程序之间携带信息数据;...

    PHP安装protobuf详解

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 在此主要说明一下支持RPC的phpbuf作为PHP和后端接口通信的接口协议...

    hessian-demo和hessian与spring整合demo.doc

    Hessian是一个轻量级的remoting on http工具,使用简单的方法提供了RMI...采用的是二进制RPC(Remote Procedure Call Protocol,远程过程调用协议)协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。

    RPC介绍及开发指南

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 客户端在不知道调用细节的情况下,调用存在远程机器上的方法,就像...

    python-rpc框架,基于ws长连接暴露

    python—rpc框架,基于ws长连接暴露RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如...

    RPC那些事儿

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息...

    RPC简单学习文档

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息...

    RMI与RPC

    RMI(Remote Method Invocation)远程方法调用与RPC(Remote Procedure Call Protocol)远程过程调用协议 文章目录RMI(Remote Method Invocation)远程方法调用与RPC(Remote Procedure Call Protocol)远程过程调用...

    dubbo-rpc-api-2.5.3.jar包

    RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息...

    python远程调用rpc模块xmlrpclib的方法

    RPC(Remote Procedure Call Protocol)是远程调用协议,它通过网络请求服务到远端服务器,服务器根据请求做出响应,将结果返回 它是一种C/S模式,客户端可以调用远程服务器上的参数(类似URL)并返回结果 利用rpc...

    JavaRpc:JAVA RPC实现,基于动态代理与反射

    RPC全程Remote Procedure Call Protocol,即远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC采用客户机/服务器模式。请求程序就是一个客户机,而服务提供程序...

    使用 XML-RPC 为 C++ 应用程序启用 Web 服务

    简单对象访问协议(Simple Object Access Protocol,SOAP)、代表性状态传输(Representational State Transfer,REST)以及 XML 远程过程调用协议(XML Remote Procedure Call,XML-RPC)等 Web 服务协议可帮助将...

    网络端口查询

    135端口:135端口主要用于使用RPC(Remote Procedure Call,远程过程调用)协议并提供DCOM(分布式组件对象模型)服务。 137端口:137端口主要用于“NetBIOS Name Service”(NetBIOS名称服务)。 139端口:139端口...

Global site tag (gtag.js) - Google Analytics