單體架構:
——優點:
1、易於開發:開發的方式簡單,方便運行也容易調試。
2、易於測試。
3、易於部署。
優點顯而易見~
——缺點:
1、項目過於臃腫,維護成本大,出現bug難定位。
2、資源無法隔離:共享一個數據庫,或者一塊內存。
如果一個功能模塊突然訪問量過大,可能影響整個系統的性能。
3、無法靈活擴展:單體系統也可以集群部署,但是不夠靈活,我明明只是訂單系統遇到了瓶頸,
只需要將訂單模塊水平擴展就行,但現在要將整個系統水平擴展。不靈活!
4、交付周期長:所有功能得一起上線,一起構建,一起部署。
任何一個環節出錯,都可能影響交付。
那分布式的優點自然就和單體架構就對立了~
再談談分布式架構的缺點:
1、性能,分布式系統是跨進程,跨網絡的,性能很收網絡延遲和帶寬的影響。
2、可靠性:由於高度依賴網絡狀況,任何一次遠程調用都可以失敗。
隨着服務的增多,還會出現更多的潛在故障點。
3、異步:引入各種中間件,異步通信大大增加了功能實現的復雜度。
4、數據一致性:分布式系統必然會有分布式事務的出現,這時對數據的一致性,
需要在C(一致性)A(可用性)P(分區容錯性)中做出選擇。
5、運維成本:一個系統拆成了多個服務,每個服務都得配置,部署,監控,日志處理。
原文鏈接:https://blog.csdn.net/world6/article/details/79114105
