**知乎 馮慶
常見架構設計方案質量屬性點有:效能、可用性、硬體成本、專案投入、複雜度、安全性、可擴充套件性等。在評估這些質量屬性時,需要遵循架構設計原則:1.合適原則,2簡單原則,避免貪大求全,基本上某個質量屬性能夠滿足以 一定時期業務發展就可以了。
屬性 | 集群方案 | 拆分方案 | 備註 ---|---|---|--- 效能 | 中,繼續擴充套件下去,mysql會成為瓶頸 | 高,系統拆分為子系統,子系統又可以做成集群方案 | 拆分方案優 | 複雜度 | 低,只需要引入nginx做負載均衡 | 高,需要對系統和資料庫進行拆分 | 集群方案優 成本 | 中,需要增加web伺服器 | 中,需要增加web伺服器和mysql伺服器,單mysql伺服器物流上可以共用,邏輯上分開即可| 集群方案稍微優一點 可擴充套件 | 低,所有的功能繼續在同乙個系統實現,系統會越來越複雜,擴充套件越來越難 | 高,系統按照追責拆分為多個字系統,每個子系統可單獨擴充套件 | 拆分方案優 可用性| 中,web伺服器是集群模式,單mysql是單點的,mysql故障回你導致整個業務不可用 | 高,子系統是獨立的,某個子系統故障不會導致整個業務不可用 | 拆分方案優
eg:架構師選擇了elasticsearch作為全文搜尋解決方案,前提必須是架構師自己對elasticsearch的設計原理有深入的理解,比如索引、副本、集群等技術點;而不能道聽途說elasticsearch很牛,所以你選擇它,更不能成為把「細節我們不討論」這句話掛在嘴邊的「ppt架構師」。
架構設計原則
電腦科學領域的任何問題都可以通過增加乙個間接的中間層來解決。實現功能性需求是當前的明確地,非功能性需求是應對未來未知需求 架構是系統非功能性需求的解決辦法的集合 架構設計的目的基礎是滿足功能需求,主要是滿足一下特性 高效能 可用性 可靠性 可擴充套件性 穩定性 安全性 易用性 可維護性 靈活性 實現...
軟體架構 設計原則
一般乙個系統包括架構模式 設計模式 軟體框架等。一般乙個系統包括架構模式 設計模式 軟體框架等。設計模式是在解決問題的過程中,一些良好思路的經驗整合,常見的是gof 23種設計模式。gof 23種設計模式的一些指導設計原則 1 開閉原則 ocp 乙個軟體實體應當對擴充套件開放,對修改關閉。抽象化 是...
軟體架構設計原則
通常,我們在開發乙個完成專案的時候,總會談到要進行軟體架構設計,那麼為什麼要進行軟體架構設計呢,肯定是為了方便軟體後期的維護性 擴充套件性和易讀性。軟體開發設計有七大原則 開閉原則 有利於軟體的穩定性和可維護性 依賴倒置原則 減少類與類之間的依賴,高層模組與底層模組之間的依賴,實現與抽象 單一職責原...