您好,登錄后才能下訂單哦!
gRPC的工作原理是什么,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
gRPC 已經(jīng)成為實現(xiàn)需要大規(guī)模快速運行的分布式軟件系統(tǒng)的一項重要技術(shù)。簡而言之,gRPC 是一個 API 框架
,它允許一個程序在互聯(lián)網(wǎng)上的一個位置傳遞數(shù)據(jù)到另一個位置的另一個程序中的獨特函數(shù)進(jìn)行處理。
其他 API 框架(如 REST)通常使用基于文本的格式(如 JSON 或 XML)在客戶機(jī)和服務(wù)器之間傳遞數(shù)據(jù),而在 gRPC 下,數(shù)據(jù)是以二進(jìn)制格式
在客戶機(jī)和服務(wù)器端目標(biāo)函數(shù)之間傳遞的。
有效載荷具有二進(jìn)制特性,這也是它比其他方法更快的名聲的來源之一。使用 gRPC 的程序可以以納秒
為單位執(zhí)行,而不是使用基于文本的數(shù)據(jù)時通常使用的毫秒。
數(shù)據(jù)共享
是起點。公司需要將數(shù)據(jù)從一臺計算機(jī)轉(zhuǎn)移到另一臺計算機(jī),以便以每個系統(tǒng)特有的方式處理信息。
RPC 背后的基本思想是,在一臺機(jī)器上運行的過程(也稱為函數(shù))可以由網(wǎng)絡(luò)上不同位置的其他機(jī)器共享。RPC 的好處是減少了系統(tǒng)冗余
。當(dāng)需要升級過程時,所有更改都發(fā)生在單個位置
HTML
和
XML
一樣是基于文本的。這些都是
龐大的格式
,因為它們需要開始和結(jié)束標(biāo)簽JSON
是另一種流行的基于文本的數(shù)據(jù)格式,它甚至比 XML 更簡潔,gRPC
中,所有數(shù)據(jù)都以二進(jìn)制格式傳輸。信息被
序列化為一個緊湊的位集合
,然后通過網(wǎng)絡(luò)發(fā)送。然后,當(dāng)數(shù)據(jù)到達(dá)目標(biāo)目的地時,它們
被反序列化為文本
。在 gRPC 中使用的二進(jìn)制格式是協(xié)議緩沖。使用協(xié)議緩沖可以使數(shù)據(jù)快速傳輸,但是它也帶來了成本,而這些成本是由于描述數(shù)據(jù)帶來的開銷而產(chǎn)生的。
用空間換時間
。gRPC 背后的基本概念。請注意,客戶機(jī)和服務(wù)器通過 HTTP/2
進(jìn)行通信,信息可以作為單個請求/響應(yīng)事件或連續(xù)流進(jìn)行交換。
在 gRPC 模式中, .proto
文件包含由服務(wù)器發(fā)布的函數(shù)簽名。根據(jù)已發(fā)布的函數(shù)聲明,客戶機(jī)將使用此信息將消息傳遞給特定函數(shù)。定義的函數(shù)聲明的示例如下 .proto文件中。格式如下:
rpc Add (Request) returns (Response) {}
rpc
是一個保留的協(xié)議緩沖關(guān)鍵字,表示該函數(shù)是一個遠(yuǎn)程過程調(diào)用Add
是函數(shù)的名稱(Request)
表示該函數(shù)有一個自定義消息類型的參數(shù) Requestreturns
是一個保留的協(xié)議緩沖關(guān)鍵字,表示函數(shù)返回類型的前綴(Response)
表示該函數(shù)將返回一個自定義消息類型,Response關(guān)于gRPC的工作原理是什么問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。