當前位置:
首頁 > 知識 > 分布式系統的那些事兒(三)-系統與系統之間的調用

分布式系統的那些事兒(三)-系統與系統之間的調用

系統與系統之間的調用通俗來講,分為本地同一台伺服器上的服務相互調用與遠程服務調用,這個都可以稱之為RPC通信。淺白點講,客戶訪問伺服器A,此時伺服器要完成某個動作必須訪問伺服器B,伺服器A與B互相通信,相互調用,A訪問B的時候,A掛起,等待B的響應,B響應返回相應的數據個A,A再返回給用戶,這就是一個很簡單的栗子。

舉個常見栗子,用戶上傳圖片,用戶上傳圖片首先會經過自身的伺服器,然後再對圖片進行處理,此時圖片處理放在圖片伺服器中進行,那麼我們只需要調用圖片伺服器提供的介面即可,然後等待響應返回的圖片地址,此時我們隊它進行額外的處理,保存到資料庫然後在返回到前端進行顯示。

再不明白就說說這次的順豐和菜鳥數據安全事件,就是你調用我我調用你這樣的一些列RPC通信。

其實在多年以前,系統之間的通信通過建立tcp協議來進行交互,非常麻煩,而現如今使用RPC的話那麼就簡單的多了,很多細節方面的事我們無需關注,比如socket啊,數據的轉換啦解析啦等等。

RPC通信在系統之間的主要數據格式會以json為主,當然也有xml的形式,但是不多,不過很多老系統還是都會以xml為主。

在傳輸過程中,系統和系統之間的通信通過網路,而通信並不會保證每次都會成功,所以各類錯誤也一定要完善,就像咱們有時候對接第三方介面那樣,會提供很多的錯誤碼供我們分析,甚至還有超時請求的響應時間配置等等。對於這一系列的異常以及錯誤,我們一定要捕獲並且處理,不然在頂端的客戶不知道系統發生了什麼而一直等著,這樣是不人性化的。

系統之間通信收到網路的影響很多時候響應會比較慢,此時的用戶可能會在客戶端多次點擊按鈕,這樣被調用的服務端就會執行多次,那麼就要考慮系統的冪等性,這個不多說了,以前的帖子里有講過。

好了,先講這麼多吧...

(未完待續)

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 BeJavaGod 的精彩文章:

有意思的冒泡排序法,我竟然全部都看完了!
分布式系統的那些事兒(二)-線程與進程
薪資18-22K,Java方向,坐標上海
網站平台架構演變史(三)-資料庫表的查詢優化
網站平台架構演變史(四)-水平拆分的查詢

TAG:BeJavaGod |

您可能感興趣

系統的認識新風系統
納稅服務系統五配置系統、子系統首頁、登陸與攔截
數據中心供配電系統與空調系統設計
其他的恆星系統
中文的獨特系統
iOS系統之父
操作系統和技術平台之間的差別
鏈式供彈系統
營養與免疫系統之間的關係
區塊鏈系統的思考框架
國產操作系統的春天到了,強制使用國產系統,系統問題全部解決
國產操作系統性能如何?網友:這款國產操作系統是我用過最好的一款系統
國產系統之殤:你知道的這些系統都是國外的
DNF:魂鏈是否會受裝等系統的影響?全面分析裝等系統的意義
基於交換中心的分散式系統數據同步技術
BIOS設置選項詳細解釋——系統監視&系統啟動篇
利用手上穴位來調節你的運動系統、生殖系統
人造衛星一般由專用系統和保障系統組成
硬碟壞塊和系統設置
人體八大系統「之五」泌尿系統疾病的「防與治」!