RPC与HTTP

RPC全称为Remote Procedure Call,俗称远程过程调用。

RPC是一种编程模型,编程思路,它的出现是为了解决分布式服务(微服务)架构中,不同服务之间方便且高效调用的问题,远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。

RPC 与 HTTP
1、RPC的维度要更加广泛,出现的时间比HTTP还早,而HTTP只是RPC具体实现的一种方式。
2、HTTP协议是世界统一的,而RPC却是有不同的协议,定制化程度高。
3、RPC一般使用轻量级的协议比如protobuf来实现通讯,同时也不需要像HTTP那样考虑各种浏览器行为,比如302重定向跳转啥的,因为只需要考虑数据传输而不需要关心额外的意义。
4、RPC一般用在后端系统之间的调用,比如微服务之间。而http则用在前后端之间的调用。
5、RPC的调用像调用本地方法一样,参数明确,比HTTP易读。
6、以上说的是HTTP/1.1,而HTTP2则做了很多优化,性能大幅提升,甚至在gRPC的底层直接使用了HTTP2来实现的gRPC。

常用的RPC框架
thrift / gRPC

你可能感兴趣的:(微服务,rpc,网络)