傳統架構與微服務架構的區別

系統架構的標準要求

  • 高敏捷性:及時響應業務需求,促進企業發展。
  • 用戶體驗:提升用戶體驗,減少用戶流失。
  • 降低成本:降低增加產品、客戶或業務方案的成本。


傳統的開發模式

傳統的 WEB 開發方式,這種方式一般被稱爲 單體式開發(Monolithic)。
我們會將所有的功能打包在一個 WAR/JAR 包裏,基本沒有外部依賴(除了容器),部署在一個 JavaEE 容器(Tomcat,JBoss,WebLogic)裏,包含了Bean,DAO,Service,Control,UI 等所有邏輯。

圖片來源於網絡

優點

  • 易開發簡單,集中式管理
  • 基本不會重複開發
  • 功能都在本地,沒有分佈式的管理和調用消耗

缺點

  • 效率低:開發都在同一個項目改代碼,相互等待,衝突不斷
  • 維護難:代碼功功能耦合在一起,新人不知道何從下手
  • 不靈活:構建時間長,任何小修改都要重構整個項目,耗時
  • 穩定性差:一個微小的問題,都可能導致整個應用掛掉
  • 擴展性不夠:無法滿足高併發下的業務需求


微服務架構

爲了優化以上的問題,微服務做了項目結構的調整
圖片來源於網絡

優化功能點:

  • 微服務把每一個職責單一的功能放在一個獨立的服務中 。
  • 高新能:數據庫分庫、分表,提高系統性能。
  • 易部署:單體應用只要有修改,就得重新部署整個應用。而微服務對某個微服務進行修改,只需要重新部署這個服務即可。
  • 易開發:微服務中開發者只需關注一個特定的業務功能,所以業務清晰、代碼量較少。開發和維護某個微服務相對簡單。

注:以上圖片來源於網絡。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章