基於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