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