在系統架構技術中,我們會經常接觸RPC(遠端過程呼叫)技術,當下的RPC框架很多,而谷歌的gRPC在這幾年熱度也很高,它是基於HTTP2.0的,很多人不明白gRPC為什麼會選擇HTTP/2來作為傳輸協議。
gRPC是Google開源的一個高效能RPC框架,基於HTTP/2傳輸資料、資料序列化框架是Protocol Buffers(Google推出的資料交換格式)。gRPC底層支援不同的協議,目前支援的有:gRPC over HTTP2 、gRPC Web。
它的優勢主要有:
跨語言、跨平臺;
基於HTTP/2標準設計,在移動端上表現更好,節省空間佔用;
資料交換格式為Protocol Buffers,獨立於語言和平臺、二進位制、效能好。
這裡需要留意的是,HTTP/2 並不等於 HTTP,兩者之間差異是很大的,而gPRC之所以使用HTTP/2協議原因主要有以下幾點:
為了推廣HTTP/2協議;
HTTP/2更適用於移動客戶端和服務端的通訊;
HTTP/2具有頭壓縮特性,傳輸資料量減少、延遲降低;
HTTP/2具備通用性,不同語言間實現成本很低。
在系統架構技術中,我們會經常接觸RPC(遠端過程呼叫)技術,當下的RPC框架很多,而谷歌的gRPC在這幾年熱度也很高,它是基於HTTP2.0的,很多人不明白gRPC為什麼會選擇HTTP/2來作為傳輸協議。
gRPC是什麼?它的優勢在哪?gRPC是Google開源的一個高效能RPC框架,基於HTTP/2傳輸資料、資料序列化框架是Protocol Buffers(Google推出的資料交換格式)。gRPC底層支援不同的協議,目前支援的有:gRPC over HTTP2 、gRPC Web。
它的優勢主要有:
跨語言、跨平臺;
基於HTTP/2標準設計,在移動端上表現更好,節省空間佔用;
資料交換格式為Protocol Buffers,獨立於語言和平臺、二進位制、效能好。
gRPC為何使用HTTP/2作為傳輸協議?這裡需要留意的是,HTTP/2 並不等於 HTTP,兩者之間差異是很大的,而gPRC之所以使用HTTP/2協議原因主要有以下幾點:
為了推廣HTTP/2協議;
HTTP/2更適用於移動客戶端和服務端的通訊;
HTTP/2具有頭壓縮特性,傳輸資料量減少、延遲降低;
HTTP/2具備通用性,不同語言間實現成本很低。