gRPC为什么用HTTP2作为传输协议

基于HTTP/2 的缺点

rpc的元数据的传输不够高效

尽管HPAC可以压缩HTTP Header,但是对于rpc来说,确定一个函数调用,可以简化为一个int,只要两端去协商过一次,后面直接查表就可以了,不需要像HPAC那样编码解码。
可以考虑专门对gRPC做一个优化过的HTTP/2解析器,减少一些通用的处理,感觉可以提升性能。

HTTP/2 里一次gRPC调用需要解码两次

一次是HEADERS frame,一次是DATA frame。

HTTP/2 标准本身是只有一个TCP连接,但是实际在gRPC里是会有多个TCP连接,使用时需要注意。

原因

gRPC选择基于HTTP/2,那么它的性能肯定不会是最顶尖的。但是对于rpc来说中庸的qps可以接受,通用和兼容性才是最重要的事情。

参考链接:https://blog.csdn.net/hengyunabc/article/details/81120904

posted @ 2020-04-16 22:31  五个平均值  阅读(2135)  评论(0编辑  收藏  举报