iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0
自我挑戰組

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

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

  • 分享至 

  • xImage
  •  

在系統設計與開發時,組間通訊是非常重要的一個部分,就像梁山伯與茱麗葉一樣密不可分。
目前常見的通訊協議如http/https、TCP/IP等等,而這次我們鐵人賽主題所介紹的是由google開發的開源框架gRPC,gRPC是使用http2的通訊協定,那我們就來說明一下通訊協定到底是啥東東

http/https有1.0以及1.1版本,從最一開始的http1.0版本說起:

  1. 請求驗證:當client送出一個request給server,server就會丟一個response給client,而且是屬於單向流,亦即此時的server不能單獨發送訊息給client端。
    2.資料傳遞型態:一般的http/https資料傳輸型態是以文本形式(JSON)傳遞,如果資料被攔截,資料是很容易外洩的,而且採用文本形式的話傳遞速度會很慢。
    3.連接建立:每次一個request,會對應一個response,如果要做多次request,就需要多次連線,會造成連線資源浪費。在http1.1中有透過PersistentConnection(長鏈結)來改善此問題。

https://ithelp.ithome.com.tw/upload/images/20230907/20147417oCD43OfgQ6.png

而http2則是透過改善上面的弱點發展而成:
1.雙向請求驗證:Server-Client可以互相發起訊息傳送。
2.資料傳遞型態:http2改採用二進制的方式傳遞資料,提高數據傳遞的效率。
3.連接建立:http2的連線使用的是MultiPlexing(多路復用),即每一次連線都可以傳遞多個request,避免連線資源的浪費。

https://ithelp.ithome.com.tw/upload/images/20230907/20147417WQDq4DQ02H.png

以上就是針對http/https以及http2的簡單說明囉!
那我們明天會說明關於gRPC的通訊協定框架是如何透過http2實現的,大家明天見~~

參考資料

https://learn.microsoft.com/zh-tw/azure/rtos/netx-duo/netx-duo-web-http/chapter1
https://www.shubo.io/https/
https://github.com/sisterAn/JavaScript-Algorithms/issues/131


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

尚未有邦友留言

立即登入留言