iT邦幫忙

2021 iThome 鐵人賽

DAY 2
0

這篇主要聊一聊兩個應用層工具:web api 和 rpc;
關鍵字:web api, rpc;
關鍵字解釋:
web api:遠端的兩個ip之間,進行通訊交換資料的時候,需要用到的,特點是一次(可多筆)資料交互之後,斷開鏈接;進階説明:socket的connect是保持連接的,除非自己斷開,不然就會保持;
rpc:這個是分布式系統或者系統架構龐大的時候,經常采用的通訊方式,筆者使用過的工具是grpc;
首先聊一下web api:
web api的client端,往往是直接發送一個request就斷開,而不會一直保持鏈接;制定的時候,就采用公用的文本格式和流程:比如我在項目中實作的就有https:post的方式,http是文本格式,s是security,所以發送的内容的頭部會包含key的資訊;post是表示方式;
討論:爲什麽要用public key和private key?
如果我們保持connect,那麽我就可以通過綁定的ip來知道你是可以信任的,但是如果是如果我不保持connect,隨便一個client都可以丟個request給我,這時候就必須確保你的權限是可以信任的,就衍生出了確保權限的内容,就是public key和private key;
grpc的使用:小型項目的話,模塊之間的溝通方式多是用事件的方式;但是儅系統龐大,or 使用分佈式系統的時候,or 爲了讓系統可以在某部分down掉,其他部分仍然能正常運作時,這些情況下,都會使用到rpc的模式,也就是遠端呼叫api 的方式;我實作過grpc,也就是先制定protobuf,然後生產相關的接口代碼,然後實現server端和client端;
總結:構建系統的時候,需要提前制定不同模塊之間的溝通方式,一般是兩種:rpc和事件,遠程溝通的時候,web是一個常用的方式;


上一篇
網絡框架:如何制定protocol
系列文
applicatio框架搭建,包含常用toolkit:ui,network,multithread,db,config,log,data structure4
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言