gRPC為什麼要使用http作為傳輸協議?難道要跟xml-http/json-http一決雌雄?
01-15
gRPC為什麼要使用http作為傳輸協議?難道要跟xml-http/json-http一決雌雄?
通常來說,使用http作為傳輸協議的服務,應用場景大多是BS架構的web;而ProtoBuf通常用來搞大數據量的傳輸(比如分散式存儲),而gRPC卻使用了http2作為傳輸協議。所以矛盾來了,gRPC的使用場景是什麼呢?與xml-http、json-http一樣應用在web服務上;還是其他用途?
瀉藥。做 gRPC 時當面問過項目領隊 ctiller (Craig Tiller) 這個問題。他的答案是:許多客戶端要通過 HTTP 代理來訪問網路,gRPC 全部用 HTTP/2 實現,等到代理開始支持 HTTP/2 就能透明轉發 gRPC 的數據。不光如此,負責負載均衡、訪問控制等等的反向代理都能無縫兼容 gRPC,比起自己設計 wire protocol 的 Thrift,這樣做科學不少。
為了強行推廣http2
我(不)會用Google系列。。。
https://developers.googleblog.com/2015/02/introducing-grpc-new-open-source-http2.htmlBuilding on HTTP/2 standards brings many capabilities such as bidirectional streaming, flow control, header compression, multiplexing requests over a single TCP connection and more. These features save battery life and data usage on mobile while speeding up services and web applications running in the cloud.
儘管早就有了RPC,DCE,CORBA, 可後來W3和XML愛好者還不是又重新發明了一遍?
為了兼容其他的微服務組建吧
http2 和http 還是非常不同的
已邀請在谷歌寫過 grpc 的朋友回答 @滕亦飛
1、為了推HTTP/22、HTTP的七層負載均衡方案比較豐富一些(個人理解
為了基礎架構全部雲計算化後應用之間的直接傳輸。現在很多程序除了資料庫以外很多調用都是通過api。如果使用http2一方面安全層面天然得到加強。另一方面針對底層介面的嵌套不需要應用開發人員過於關注。
覺得我用不著http是比較常見的幻覺
這次加密技術主要是因為本計算機加入原AD域,現改名為eMoteDesktop域,並且使用了新密鑰續訂證書,加密有二個方面一個是針對VP連接,另外一個加密技術晶元加密技術。我也是無奈之舉!
推薦閱讀: