當前位置:
首頁 > 最新 > 架構設計時必須要考慮的9個關鍵關注點

架構設計時必須要考慮的9個關鍵關注點

前兩天為公司面試了幾位架構師的候選人,當筆者問到候選人,在進行架構設計和選型時,需要考慮哪些關鍵關注點,基本上沒有候選人能夠說全。筆者藉此機會和大家再重新審視和探討一下。


功能性

產品向用戶提供了哪些功能? 一切的架構和實現都是圍繞產品的功能(用戶故事),而且這是一個產品是否能夠交付給客戶的唯一不可或缺的特性,試想,如果一個產品沒有了功能,這個產品還有什麼用。

軟體將來可能會發生什麼變化。哪些變化不太可能發生,哪些變化可能發生。當變化發生的時候,我們的架構基本上不需要做任何的改動,能夠適應新的變化。


產品將達到什麼樣的性能?特別是互聯網產品,性能很關鍵,試想如果一個網站,你打開首頁還要等上3~5秒,你下次還會繼續訪問這個網站嗎?

GIF

在部署的生態環境中,當前系統將與哪些其他系統進行交互?在一個大型企業級應用中,往往有成百上千的軟體系統在一起工作,比如,LDAP伺服器,Ngnix伺服器,Tomcat伺服器,密碼管理伺服器,Salesforce,SharePoint等,而且系統之間是有相互的交互關係,如何保證這些交互關係不會因為一個新的系統的加入而變得脆弱等問題,作為架構師,我們必須有一個通盤的考慮。


多少用戶將並發使用該系統?該系統將會為用戶保持多少數據。話句話說,容量就是軟體系統應用特徵的某項指標的極限值(如最大並發用戶數、資料庫記錄數等),系統在其極限狀態下沒有出現任何軟體故障或還能保持主要功能正常運行。


如何將編寫軟體的任務進行模塊化劃分,而且各個模塊能夠很好的保持松耦合,高內聚呢?另外進行模塊化的設計當中,也要最大限度的考慮如何最大程度的復用模塊。


如何將軟體構建為一組容易部署和分發的組件?如何能夠獨立實現和驗證這些組件?組件是自己開發,還是利用開源的軟體和框架,甚至從第三方購買?


產品是否需要基於SSL或者HTTPS;產品是否需要用戶認證? 或者什麼網的用戶或者客戶端需要限制其對數據的訪問?

如何抵擋DDOS攻擊? 如何保證存儲在資料庫中的密碼?


當前的項目是否能夠做成一個通用的產品?當前的項目能夠作為一個公共的平台?如何開發一個產品線?產品線中的產品已怎樣的步驟開發?開發一個產品線,大概需要多少的投資?

如果您對這9個關注點有任何的疑問,請關注我的企鵝號:冰城無極,並在文章後面留言,我將儘可能第一時間回復。

【部分圖片來源於網路,如果侵權,請與我聯繫刪除】


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 冰塵無極 的精彩文章:

TAG:冰塵無極 |