iT邦幫忙

2023 iThome 鐵人賽

DAY 3
0
自我挑戰組

gRPC通訊框架認識與實作系列 第 3

gRPC通訊框架認識與實作【Day 03】

  • 分享至 

  • xImage
  •  

昨天我們稍微說明關於http2協議的內容,今天我們就要來談談gRPC這個通訊框架的內容囉!!
RPC全稱是Remote Procedure Call,因為是google開發的所以加一個g,gRPC是一種高效率的資料傳遞框架,不僅可以在各種前後端載具上使用,也可以有效的提供分散式運算所需要的資料傳輸,最重要的是,他是google開發的,所以有很多大神協助開發(笑

https://ithelp.ithome.com.tw/upload/images/20230908/20147417fF9FOlZVdu.jpg

http2協定包含下列幾個概念:

  1. data stream:可以替不同的stream設置權重,限制傳遞順序
  2. message:控制client發送的數據快慢,如果client發送的太快,可以限制發送速率。
  3. frame:資料傳輸單位

所以我們透過http2協議在傳遞資料時,可以在同一個request中加入多個內容,減少發送request數量以提高效率。這也是gRPC能夠提高傳輸效率的原因。

gRPC就是基於http2的通訊協定所設計的資料傳遞模式,主要它的設計概念可以從以下幾個面向出發:

  1. 網路通訊:gRPC將通訊內容封裝進傳輸封包,可以使用不同的語言來撰寫設計
  2. 通訊協議:http2使用二進位的方式傳遞資料,支持server-client雙向通訊
  3. 序列化:透過protobuf設計專屬的IDL語法
  4. 創建代理:讓開發者調用遠端的server method

今天就針對gRPC做些簡單的說明,明天我們要開始認識什麼是protobuf,也會準備來操作程式的部分。我使用的編譯器是intellij,java版本是1.8,大家可以先準備一下,那我們就明天見囉~~

參考資料

https://grpc.io/
https://zhuanlan.zhihu.com/p/411315625


上一篇
gRPC通訊框架認識與實作【Day 02】
下一篇
gRPC通訊框架認識與實作【Day 04】
系列文
gRPC通訊框架認識與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言