分散式系統架構的冰與火

愛讀書的張先生發表於2020-11-25

分散式系統架構的冰與火

01 | 導讀

1、各式各樣的架構

1)高併發架構、異地多活架構、容器化架構、微服務架構、高可用架構、彈性化架構等。

2、管理型的技術方法

1)DevOps、應用監控、自動化運維、SOA服務治理、去IOE等。

3、使用分散式系統的兩個原因

1)增大系統容量:垂直或水平拆分業務系統,讓其變成一個分散式的架構。
2)加強系統可用:通過分散式架構來冗餘系統以消除單點故障,提高系統的可用性。

02 | 單體應用和分散式架構

1、優缺點對比
在這裡插入圖片描述
2、分散式系統架構的難點在於系統設計,以及管理和運維。

03 | 分散式系統的發展

1、發展歷程

1)70年代的模組化程式設計
2)80年代的面向事件設計
3)90年代的基於介面/構件設計
4)SOA—基於服務的架構

2、SOA面向服務的三個階段

1)90年代前,單體架構,軟體模組高度耦合。
2)2000年左右,比較鬆散的SOA架構,需要使用ESB聯動相關服務。
a. 服務間不直接依賴,而是通過中介軟體的標準協議或是通訊框架相互依賴。—>IOC(控制反轉)和DIP(依賴倒置原則)設計思想在架構中的實踐。
3)2010年後,更為鬆耦合的微服務架構,
a. 每一個微服務都能獨立完整地執行(所謂的自包含),後端單體的資料庫也被微服務這樣的架構分散到不同的服務中。
b. 它和傳統SOA的差別在於,服務間的整合需要一個服務編排或是服務整合的引擎。

參考文獻:

[1] 陳皓. 左耳聽風[M]. 極客時間, 2017.
[2] 圖片取自專欄文章

相關文章