一圖解釋 gRPC 工作原理

RPC(遠程過程調用)被稱爲 “遠程”,因爲它在微服務架構下,使得部署到不同服務器的服務之間能進行通信。從用戶的角度看,它就像一個本地函數調用。

RPC 是一種遠程控制,就是利用網絡對計算機進行遠程操控,這樣就不需要再花費額外的時間各地奔波,而 gRPC 是一種高性能的 RPC 框架。

以下圖示說明了 gRPC 的整體數據流。

步驟 1:客戶端發起一個 REST 調用。請求體通常爲 JSON 格式。

步驟 2 - 4:訂單服務(gRPC 客戶端)接收 REST 調用,轉換它,並向支付服務發起 RPC 調用。gPRC 將 客戶端存根 (client stub) 編碼爲二進制格式,發送至底層傳輸層。

步驟 5:gRPC 通過 HTTP2 將數據包發送至網絡。由於二進制編碼和網絡優化,gRPC 的速度據說比 JSON 快 5 倍。

步驟 6 - 8:支付服務(gRPC 服務器)從網絡接收數據包,解碼它們,並調用服務器應用程序。

步驟 9 - 11:結果從服務器應用程序返回,並被編碼併發送到傳輸層。

步驟 12 - 14:訂單服務接收數據包,解碼它們,並將結果發送至客戶端應用程序。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/uK6_dENQX6BIIQLTllFQBw