## gRPC來源

2015年,谷歌開源了他們的項目,該項目最終被稱為gRPC。但gRPC中的“g”實際上代表什么?很多人可能認為這是為了谷歌,因為谷歌制造了它,但它沒有。谷歌更改了每個版本的“g”的含義,以至于他們甚至制作了一個README來列出所有含義。

gRPC協議架構

gRPC是一種用于實現RPC API的技術。由于gRPC是開源框架,通信雙方都基于該框架進行二次開發,從而使得通信雙方聚焦在業務,無需關注由gRPC軟件框架實現的底層通信。如下圖,DATA部分即為業務層面內容,DATA下面所有的信息都由gRPC進行封裝。

gRPC協議架構## 什么是gRPC ProtoBuf?

gRPC ProtoBuf是gRPC協議的接口描述語言,是一種與語言無關、平臺無關、擴展性好的用于通信協議、數據存儲的序列化結構數據格式。gRPC ProtoBuf編碼格式也稱為GPB(Google Protocol Buffers)編碼格式。GPB提供了一種靈活、高效、自動序列化結構數據的機制。GPB與XML、JSON編碼類似,也是一種編碼方式,但不同的是,它是一種二進制編碼,性能好,效率高。

gRPC還提供什么?

gRPC VS REST?

REST(Representational State Transfer)表征狀態轉移,是一種軟件架構風格,用于指導WEB架構的設計和開發。REST同樣為管理和配置網絡設備提供了一種API接口設計的方法。gRPC與REST兩者的主要差異如下:

gRPC VS SOAP?

功能 gRPC [[W20250400136
協定 必需 (.proto) 必須(.xml)
協議 HTTP/2 HTTP
Payload Protobuf(小型,二進制) XML(大型,人工可讀取)
規定性 嚴格規范 嚴格規范
流式處理 客戶端、服務器,雙向 客戶端、服務器
瀏覽器支持 無(需要 grpc-web)
安全性 傳輸 (TLS) WS-security規范
客戶端代碼生成 三方工具均支持

參考資料

gRPC官網
gRPC開源框架
gRPC 基礎概念詳解
gRPC高性能的原因

一站搜索、試用、比較全球API!
冪簡集成已收錄 4968種API!
試用API,一次比較多個渠道