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
欢迎留言评论~