本文說明了單體架構風格的優缺點。html
特色
應用程序由三部分構成:前端UI,後端服務和數據庫。
後端服務處理HTTP請求,執行特定業務邏輯,從數據庫檢索和更新數據,以及填充要發送到瀏覽器的HTML視圖。後端服務一般會分爲幾個層次和不一樣功能模塊。
應用程序被構建爲單個java war包或單個目錄層次結構。要對系統進行任何更改,開發人員必須構建和部署整個應用程序。前端
![](http://static.javashuo.com/static/loading.gif)
優勢
- 易於開發 - 傳統的開發工具和開發流程都對單體架構有很好的支持;
- 部署簡單 - 只須要把WAR文件(或目錄層次結構)複製到Web服務器便可;
- 水平擴展容易 - 經過在負載均衡器後面運行應用程序的多個副本,很容易作到水平擴展。
缺點
- 隨着應用程序變大且複雜,應用程序會變得難以理解和修改;
- 應用程序愈來愈大會讓啓動時間愈來愈長;
- 持續部署困難 - 必須在每次更新時從新部署整個應用程序;
- 獨立擴展困難 - 當不一樣模塊具備不一樣的資源需求時,單體架構難以獨立擴展這些模塊;
- 可靠性較低 - 任何模塊中的錯誤均可能致使整個程序執行失敗;
- 阻礙各個領域獨立團隊的發展;
- 阻礙採用新的技術。
相關文章
JHipster生成單體架構的應用示例
微服務架構java