gRPC

gRPC

gRPC是一個現代的開源高性能遠程過程調用(RPC)框架,可以在任何環境中運行。它可以高效地連線數據中心內和跨數據中心的服務,支持負載平衡、跟蹤、運行狀況檢查和身份驗證。它也適用於分散式計算的最後一英里,將設備、移動應用程式和瀏覽器連線到後端服務。

基本介紹

  • 中文名:高性能遠程過程調用協定
  • 外文名:gRPC
  • 所屬學科:計算機科學
發展,原理,特點,套用,使用場景,核心功能,

發展

gRPC最初是由Google創建的,它使用了一個通用的RPC基礎設施稱為Stubby,用於連線大量微服務在其數據中心內部和之間運行了十多年。2015年3月, Google決定構建Stubby的下一個版本,並將其開源。gRPC現在在許多組織中使用, 谷歌將為從微服務到計算的“最後一英里”的用例提供動力 (移動的、Web和物聯網)。

原理

gRPC使用HTTP/2作為傳輸協定。 雖然與HTTP 1.1也能兼容,但HTTP/2具有許多高級功能:用於數據傳輸的二進制組幀協定-與 HTTP 1.1不同,HTTP 1.1是基於文本的。對通過同一連線傳送多個並行請求的多路復用支持 - HTTP1.1將處理限制為一次處理一個請求/回響訊息。雙向全雙工通信,用於同時傳送客戶端請求和伺服器回響。內置流式處理,支持對大型數據集進行異步流式處理的請求和回響。減少網路使用率的標頭壓縮。

特點

gRPC是輕量型且高性能的。 其處理速度可以比JSON序列化快 8 倍,訊息小60%到 80%。 在Microsoft Windows Communication Foundation (WCF) 中,gRPC的性能超過經過高度最佳化的NetTCP綁定的速度和效率。 與偏向於Microsoft堆疊的NetTCP不同,gRPC是跨平台的。

套用

使用場景

  • 在微服務風格架構中高效連線多語言服務
  • 將移動的設備、瀏覽器客戶端連線到後端服務
  • 生成高效的客戶端庫

核心功能

  • 11種語言的慣用客戶端庫
  • 高效的線上運行,並具有簡單的服務定義框架
  • 基於HTTP/2傳輸的雙向流
  • 可插拔的身份驗證、跟蹤、負載平衡和健康檢查

相關詞條

熱門詞條

聯絡我們