- 分布式系統架構:技術棧詳解與快速進階
- 張程
- 855字
- 2020-08-13 13:45:30
1.5 分布式架構解決痛點
分布式架構主要用于解決如下問題。
1. 系統宕機
系統業務量逐漸增多,導致系統壓力增大,通過監控和各方面指標發現系統頻繁報警,需要通過優化讓系統變得穩定、負載降低。最直接的方式是增加系統容量,調整系統參數,但是硬件擴展并非解決問題的最優方式,會存在以下弊端:
- 硬件設備費用高額;
- 后續會帶來更大的維護代價。
進一步優化過程需要垂直或者水平拆分業務系統,按照一定維度拆分成多個模塊,降低耦合性,通過合理的設計方案,從端到端、點到點優化,讓系統變得健壯,為后續復雜業務提供模塊化管理和運營。
分布式的架構體系具有良好的橫向擴展性,通過橫向擴展機器能夠快速高效提高系統的并發量和吞吐量,為復雜的業務系統提供良好支撐。而分布式架構體系調用過程較長,從外界流量入口分發、代理服務、網絡傳輸、容器、應用服務、數據存儲,存在很高的優化空間,通過合理的設計方案能讓系統承載更多更高的指標,從而穩定運行。
2. 系統癱瘓
很多外部因素也會導致系統癱瘓,如機房停電、線路關閉、網絡堵塞等,因此需要一套完整的分布式架構方案(高可用、監控、故障轉移等)來支撐。
系統在構建時期需要考慮這些外在因素,然后構思設計相應的處理方案并落地實施,在測試環境中演練外在因素導致系統癱瘓的場景,不斷探索、改進、完善,這樣,當外部因素真的出現時,系統可以從容面對,從側面凸顯出系統的健壯。
分布式架構體系中針對以上場景有眾多解決方案,從設計之初就已經考慮到這些因素,確保系統是可用的、可靠的,而多機房部署就能從根源上解決由機房停電引起的事故。
3. 系統故障
當系統發生故障時,因系統構建龐大,維修排查故障時間過久會影響用戶使用。分布式架構講究系統拆分模塊化,使用更輕量級的模塊、可用的部署策略,可從一定程度上規避故障風險,如出現故障,通過有效的故障轉移方式能讓系統在短時間之內正常服務。
4. 系統臃腫
系統龐大、內核聚集多,臃腫不堪。迭代維護運營成本高,風險過大。分布式架構將系統拆分成模塊化,模塊細化后可讀性、維護性會變得簡單明了,針對細化后的模塊可更專注開發和優化。