一圖解釋 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