經常聽到各種場合中對擴充套件性和伸縮性的誤用,包括許多資深**架構師也常常混淆兩者,用擴充套件性表示伸縮性。在此,我們澄清下這兩個概念。
指對現有系統影響最小的情況下,系統功能可持續擴充套件或提公升的能力。表現在系統基礎設施穩定不需要經常變更,應用之間較少依賴和耦合,對需求變更可以敏捷響應。它是系統架構設計層面的開閉原則(對擴充套件開放,對修改關閉),架構設計考慮未來功能擴充套件,當系統增加新功能時,不需要對現有系統的結構和**進行修改。
指系統能夠通過增加(減少)自身資源規模的方式增強(減少)自己計算處理事務的能力。如果這種增減是成比例的,就被稱作線性伸縮性。在**架構中,通常指利用集群的方式增加伺服器數量、提高系統的整體事務吞吐能力。
伸縮性與擴充套件性
大型 核心架構要素有效能 可用性 伸縮性 擴充套件性和安全性 資訊系統的質量屬性有效能 可用性 可修改性 可測試性 安全性 易用性 可伸縮性 可重用性 其中,這裡說的伸縮性和擴充套件性有什麼區別呢?伸縮性是指通過不斷向集群中加入伺服器的手段來緩解不斷上公升的使用者併發訪問壓力,和不斷增長的資料儲存要...
程式的可維護性和可擴充套件性
可維護性是指當需要修改程式的某個模組時,對其他模組的影響和修改的代價 可擴充套件性是指當需要為程式新增新的功能時,對其他模組的影響和新增的代價,可以從下面幾個方面提高程式的可維護性和可擴充套件性 風格 1.命名規範 命名要能傳遞出變數或者方法的含義,少用縮寫 私有成員以m開頭,靜態成員以s開頭,常量...
Amdahl定律和可伸縮性
效能的思考 提公升效能意味著可以用更少的資源做更多的事情。但是提公升效能會帶來額外的複雜度,這會增加執行緒的安全性和活躍性上的風險。我們渴望提公升效能,但是還是要以安全為首要的。首先要保證程式能夠安全正常的執行,然後在需要的時候進行效能優化,並且優化後的程式要盡可能保持併發性,讓多處理中每個cpu盡...