RPC (Remote Procedure Call Protocol) - Remote Procedure Call Protocol

1. RPC Remote Procedure Call Protocol

        RPC (Remote Procedure Call Protocol) - Remote Procedure Call Protocol, which is a protocol that requests services from a remote computer program over a network without knowing the underlying network technology. The RPC protocol assumes the existence of some transport protocol, such as TCP or UDP, to carry information data between communicating programs. In the OSI network communication model, RPC spans the transport layer and the application layer. RPC makes it easier to develop applications including network distributed multiprogramming.

        RPC is a communication method between systems. Common communication methods between systems include http, webservice, rpc, etc. Generally speaking, rpc has higher performance than http and webservice. Common RPC frameworks include: Thrift, Finagle, Hessian, dubbo , grpc, json-rpc, CORBA, Java RMI, Web Services, RESTful Web Services, etc.

        It mainly includes two major aspects: 

        1. Connection transmission between system A and system B (eg: socket connection) 

        2. Serialization and deserialization

        Simply put, RPC is to call a function or method (which can be collectively referred to as a service) on another machine (server) by passing parameters from one machine (client) and get the returned result. 

        RPC will hide the underlying communication details (no need to deal with Socket communication or Http communication directly) 

        RPC is a request-response model. The client initiates a request and the server returns a response (similar to how Http works) 

        RPC uses the same form as calling a local function (or method) to call a remote function (or method).

 

2. Development history of remote procedure call

        ONC RPC (Remote Procedure Call for Open Network Computing), OSF RPC (Open Software Foundation's Remote Procedure Call) 

        CORBA (Common Object Request Broker Architecture Common Object Request Broker Architecture) 

        DCOM (Distributed Component Object Model), COM+ 

        Java RMI 

        .NET Remoting 

        XML-RPC,SOAP,Web Service 

        PHPRPC,Hessian,JSON-RPC 

        Microsoft WCF,WebAPI 

        ZeroC Ice,Thrift,GRPC 

        Hprose

 

Article source: http://blog.csdn.net/lin6286878/article/details/52514786

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326033624&siteId=291194637