RPC的意义

微服务中的RPC和平常HTTP区别在哪

Posted by mengxun on August 31, 2018

RPC(Remote Procedure Call,远程过程调用)是一种协议,需要关注的特点有这么几种:

  • 这种协议可以让一个程序在不关注网络细节的情况下(这也是有别于HTTP的地方)请求位于另一个机器上的程序。过程调用有时候也可以认为是函数调用或者子程序调用。

  • RPC使用client-server架构,请求的那一方就是client,提供服务供请求使用的那一方就是server。

  • RPC是同步的,不是异步的,就像你调用本地的函数一样,另一个请求必须等待前面的请求响应完成才能处理。不过可以利用进程或者共享地址空间的线程让多个RPC同时进行。

实现RPC协议的框架常见的有两个,一个是Facebook的Thrift和Google的GRPC