gRPC
Google遠程過程調用(Google Remote Procedure Call,gRPC)協議是谷歌發布的高性能、通用的開源RPC軟件框架。gRPC提供了多種編程語言,同時gRPC也是對網絡設備進行配置和管理的一種方法。
gRPC vs REST
REST(Representational State Transfer)表征狀態轉移,是一種軟件架構風格,同樣為管理和配置網絡設備提供了一種API接口設計的方法。gRPC與REST兩者的主要差異如下:
幾乎所有的瀏覽器都支持RSET,而支持gRPC的瀏覽器非常有限。這是REST相對于gRPC的主要優勢。
REST遵循基于HTTP 1.1的請求-響應通信模型,而gRPC遵循基于HTTP 2.0的客戶端-響應通信模型。HTTP 2.0在速度上有著絕對的優勢。
REST使用JSON或XML編碼格式承載數據,而gRPC默認使用ProtoBuf編碼格式承載數據。JSON或XML編碼格式以文本形式傳輸,而ProtoBuf是以二進制數據進行傳輸,所以在傳輸速率上gRPC更具有優勢。
REST不提供內置代碼生成功能,需要使用Swagger等工具生成API請求代碼。而gRPC具有protoc編譯器,具有代碼生成功能。
gRPC是如何工作的?
gRPC協議架構
gRPC是一種用于實現RPC API的技術。由于gRPC是開源框架,通信雙方都基于該框架進行二次開發,無需關注由gRPC軟件框架實現的底層通信。
gRPC支持的操作設備在網絡架構里支持Dial-in和Dial-out兩種對接模式。
Dial-in模式:設備作為gRPC服務器,采集器作為gRPC客戶端。由采集器主動向設備發起gRPC連接并獲取需要采集的數據信息或下發配置。適用于小規模網絡。Dial-out模式:設備作為gRPC客戶端,采集器作為gRPC服務器。設備主動和采集器建立gRPC連接,將設備上配置的訂閱數據推送給采集器。適用于網絡設備較多的情況下。
gRPC交互過程
gRPC采用客戶端和服務器模型,以網絡設備為gRPC客戶端,采集器為gRPC服務器為例。設備主動和采集器建立gRPC連接,將設備上配置的訂閱數據推送給采集器。在整個gRPC交互的過程中,設備和采集器都需要使用ProtoBuf來定義Proto文件。
gRPC的應用
gRPC支持通過Telemetry技術實現訂閱功能(Subscribe操作)。Telemetry是一項遠程從物理設備或虛擬設備上高速采集數據的技術。設備通過推模式(Push Mode)周期性地主動向采集器上送設備的接口流量統計、CPU和內存數據等信息。
編輯:jq
-
IP
+關注
關注
5文章
1655瀏覽量
149333 -
XML
+關注
關注
0文章
188瀏覽量
33041 -
API
+關注
關注
2文章
1485瀏覽量
61817 -
瀏覽器
+關注
關注
1文章
1016瀏覽量
35276 -
REST
+關注
關注
0文章
32瀏覽量
9398
原文標題:IP知識百科之可編程網絡系列:什么是gRPC
文章出處:【微信號:huaweidoc,微信公眾號:華為產品資料】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論