1. 程式人生 > 實用技巧 >分散式架構系統介紹

分散式架構系統介紹

1. 分散式系統概念

分散式系統是一個硬體或軟體的元件分佈在不同的網路計算機上,彼此之間僅僅通過訊息傳遞進行通訊和協調的系統。

2. 分散式與叢集的區別

  • 叢集:多個人在一起作同樣的事
  • 分散式 :多個人在一起作不同的事

分散式系統的特點:

  • 分佈性
  • 對等性
  • 併發性
  • 缺乏全域性時鐘
  • 故障總是會發生

3. 分散式系統的發展

阿里巴巴發起的"去 IOE"運動 (IOE 指的是 IBM 小型機、Oracle 資料庫、EMC 的高階儲存)。阿里巴巴2009 年“去IOE”戰略技術總監透露,截止到 2013 年 5 月 17 日阿里巴巴最後一臺 IBM 小型機在支付寶下線。

為什麼要去IOE?

  • 升級單機處理能力的價效比越來越低
  • 單機處理能力存在瓶頸
  • 穩定性和可用性這兩個指標很難達到

4. 分散式架構的演變






在這裡插入圖片描述
在這裡插入圖片描述


在這裡插入圖片描述

5. 分散式系統面臨的問題

  • 通訊異常
    網路本身的不可靠性,因此每次網路通訊都會伴隨著網路不可用的風險(光纖、路由、DNS等硬體裝置或系統的不可用),都會導致最終分散式系統無法順利進行一次網路通訊,另外,即使分散式系統各節點之間的網路通訊能夠正常執行,其延時也會大於單機操作,存在巨大的延時差別,也會影響訊息的收發過程,因此訊息丟失和訊息延遲變的非常普遍。
  • 網路分割槽
    網路之間出現了網路不連通,但各個子網路的內部網路是正常的,從而導致整個系統的網路環境被切分成了若干個孤立的區域,分散式系統就會出現區域性小叢集
    ,在極端情況下,這些小叢集會獨立完成原本需要整個分散式系統才能完成的功能,包括資料的事務處理,這就對分散式一致性提出非常大的挑戰。
  • 節點故障
    節點故障是分散式系統下另一個比較常見的問題,指的是組成分散式系統的伺服器節點出現的宕機或"僵死"現象,根據經驗來說,每個節點都有可能出現故障,並且經常發生
  • 三態
    分散式系統每一次請求與響應存在特有的“三態”概念,即成功、失敗和超時。分散式系統中,由於網路是不可靠的,雖然絕大部分情況下,網路通訊能夠接收到成功或失敗的響應,但當網路出現異常的情況下,就會出現超時現象,通常有以下兩種情況:
    • 由於網路原因,該請求並沒有被成功的傳送到接收方,而是在傳送過程就發生了丟失現象。
    • 該請求成功的被接收方接收後,並進行了處理,但在響應反饋給傳送方過程中,發生了訊息丟失現象。