分佈式系統概念與設計PART II

第一篇中定義了什麼是分佈式系統,可見消息是相當重要的。
網絡

分佈式系統交互模型分爲:異步

同步:分佈式

  • 消息發送耗時有一個下限和上限性能

  • 每一個進程有一個本地時鐘,偏移率在一個已知範圍內.net

異步:中間件

  • 消息發送耗時沒有上限blog

  • 進程本地時鐘偏移率是任意的隊列

通訊範式:進程

  • 進程間通訊ci

  • 遠程調用

  • 間接通訊

消息的性能:

  • 有效性,發送的消息最終都到達接收消息緩衝區

  • 完整性,接收到的消息和發送的消息一致,沒有消息被傳遞兩次

遠程調用和進程間通訊都是同步的。但屬於不一樣層:

1.應用、服務
2.遠程調用和間接通訊
3.底層進程通訊原語、套接字、消息傳遞 send, recieve
4.UDP和TCP

2和3處於中間件層。

請求-應答模型須要考慮的故障:

  1. 發送的消息丟失(超時重發)

  2. 響應未到達,客戶端重發(過濾重複請求)

  3. 響應的消息丟失(冪等服務&保存上一次響應)

間接通訊的目的是空間和時間上的解耦,應對變化快的網絡條件和下游模塊。


時間耦合 時間解耦
空間耦合 RPC 消息隊列
空間解耦 組播 間接通訊範型
相關文章
相關標籤/搜索