系統架構演變
1)單體應用架構
? web工程的所有模塊(web層,service層,dao層)全部打包放到一個web容器中運行。

? 優點:
? (1)架構簡單,開發成本低,周期短,適合小型項目。
? 缺點:
? (1)全部功能集成在一個工程中,對于大型項目不利于開發、拓展、維護。
? (2)性能拓展只能通過擴展集群節點,成本高,有瓶頸。
? (3)技術棧受限。
2)垂直應用架構
? 當訪問量逐漸增加時,單一應用增加機器帶來的加速度越來越小,將應用拆分成互不相干的多個應用,以提升效率。
? 優點:
? (1)項目架構簡單,開發成本低,周期短,小型項目的首選。
? (2)通過垂直拆分,原先的單體應用不至于不限擴大。
? (3)不同項目可以采用不同的技術。
? 缺點:
? (1)全部功能集中到一個工程,對于大型項目不利于開發、拓展、維護。
? (2)性能拓展只能通過拓展集群節點,成本高,有瓶頸。
?3)分布式SOA架構
? SOA(Service-Oriented Architecture),即面向服務架構,通過將核心業務邏輯抽離成通用的服務組件進行分布式部署、組合和
?使用,一個服務組件通常以獨立形式的進程運行。
? 優點:
? (1)抽取公共功能作為通用服務組件,提高開發效率。
? (2)對不同服務進行集群化部署可以緩解系統壓力。
? (3)降低系統的耦合度。
? 缺點:
? (1)抽取服務的粒度較大
? (2)服務提供方和調用方的接口耦合度較高
?4)微服務架構
? 微服務架構是在SOA機構上的一個升華,強調業務的徹底組件化和服務化,對業務系統進行更細粒度的邏輯拆分成多個獨立開發運行的小應用。
? 優點:
? (1)通過服務的原子化拆分,以及微服務的開發、打包部署,小團隊的交付周期縮短,運維成本降低。
? (2)微服務遵循單一原則。微服務之間采用Restful等輕量協議傳輸。
? 缺點:
? (1)服務過多,服務治理成本高,不利于系統維護。
? (2)分布式開發成本高(容錯,分布式事務等)。
?SOA架構和微服務的區別:
功能 SOA 微服務
組件大小 大塊業務邏輯 單獨任務或小塊業務邏輯
耦合 通常松耦合 總是松耦合
公司架構 任何類型 小型、專注于功能交叉團隊
管理 著重中央管理 著重分散管理
目標 確保應用能夠交互操作 執行新功能、快速拓展開發團隊