RPC 远端过程调用

RPC Remote Procedure Call 远端过程调用

本质就是从本地机器去执行服务器上的一个函数。所以说 RPC 指的是一类日常的操作,是个很宽泛的概念。

HTTP 请求本身也可以看做是 RPC 的一种具体形式。

谷歌的 gRPC 是一个 RPC 框架,底层通信协议是基于 HTTP2.0  的。

RPC 也可以不走 HTTP 协议,而直接在 TCP 协议上去做定制,去获得更大的效率和灵活性。

HTTP 请求往往围绕资源,而 RPC 的请求往往围绕一个函数调用动作。

JSON-RPC:

--> {"jsonrpc": "2.0", "method": "subtract", "params": [42, 23], "id": 1}
<-- {"jsonrpc": "2.0", "result": 19, "id": 1}