## **系統架構發展的歷程**
單體應用(豎井式架構)→分布式/集群架構→SOA面向服務(服務化架構)→微服務架構。
## **單體應用**
優點:對于業務簡單的應用而言,可快速構建并使用,硬件資源需求--應用、存儲及數據庫可同時使用一臺服務器。
缺點:系統維護困難、出現故障時會導致整個系統不可用

**第一階段:**隨著業務的增長,**單體應用**越來越臃腫,因此需要對系統做一個垂直化的拆分,簡單而言,就是將一個大的單體拆分成一些不同的模塊或子系統,子系統之間沒有直接關聯,這就叫做**豎井式架構**。
**目的**:解決系統的臃腫性。
## **分布式/集群架構**
**第二階段:當單體應用的訪問并發量越來越多,單體應用的負載能力便會出現瓶頸,比如存儲能力的下降,數據庫各種操作性能的下降,網絡堵塞等,于是分布式/集群架構便誕生。**
**分布式集群架構**:簡單來說就是將單體應用進行垂直拆分以及水平拆分。
**目的**:性能優化及提升。
垂直拆分:根據業務等進行拆分,一個電商系統可以分為:用戶系統、訂單系統、商品系統等多個子系統的組合
水平拆分:將一個服務進行擴容,通過負載進行調度。將一個用戶系統擴容成3個,分別部署在不同的機器上,通過負載均衡策略將請求分發到不同的用戶系統服務器上。

學習推薦地址:https://blog.csdn.net/fuzhongmin05/article/details/80958073
## **SOA面向服務(服務化架構)**
**第三階段:在分布式/集群架構穩定發展后,大神們發現對于上述例子中的用戶系統,訂單系統,商品系統各個系統之間并不存在信息共享,數據呈孤立狀態,但由于每個系統均可能會使用到相同的功能如權限認證,用戶查詢等,這時候就會造成碼農們對代碼重復編寫的情況,于是把所有系統共性的部分提起出來做為一個服務供所有系統使用,每個系統不再各自實現,也就形成了分布式/集群架構。**
**目的**:解決代碼復用、信息孤島、數據互通等問題。
主要包括的架構有:RPC架構、ESB中心化架構和微服務架構(最優產物)。

學習推薦地址:https://www.cnblogs.com/yixinjishu/p/12096496.html
## **微服務架構**
微服務也是分布式架構也是SOA面向服務架構,它是分布式架構發展下的最優產物。
分布式主要關注的是服務分開部署,也就是如何將單一服務部署,變為多服務部署(垂直+水平拆分)。
微服務主要關注的是服務拆分力度,即:一個服務要拆分到多大的維度合適。
