RPC 与 HTTP 区别
1. 前言
网上很多博客都是在说HTTP与RPC采取不同的协议,RPC所传输的数据是经过压缩的二进制数据,但是HTTP协议同样支持gzip压缩算法。其次,另一个说法就是HTTP的报头所占的有太多无效信息,但是20-60字节的首部长度会对业务有很大影响吗?以现阶段计算机处理及网络传输速度,应该并无影响。这也是我在网上所看到大部分的答案,之前也一直被这个带偏,直到一次面试被指正。
2. 正文
首先需要声明的是RPC与HTTP并不位于同一层面,两者的概念截然不同,RPC远程方法调用,即一个应用调用另一个应用的接口。
如何在一个应用中调用另一个应用?可以通过HTTP协议,也可以通过自定义的TCP协议实现通信。最终实质上完全相同,都是通过Socket解析调用方的参数,最后再将处理结果通过Socket传输。
所以,RPC是如何实现服务间的通信,而HTTP可以视为服务间通信采取的数据传输格式,如一个美国人要和日本人交流,他们彼此之间交流可以通过一个中国人,美国人要表达的信息告诉中国人,中国人在将其翻译成日语告诉日本人。在这三者中,美国人、日本人便是两个应用进程,而中国人可以视作HTTP协议。当然,你也可以使用其他国的人取代中国人,只要美

最低0.47元/天 解锁文章
7730





