1.MVC(單體架構)
單體架構模式就是常說的mvc開發模型。将系統所有功能、子產品的耦合關系都放在一個應用之中,比如:一個項目開發所有的檔案都會以打包成一個jar包或者war包的形式放置到伺服器上面。
1.1單體架構特點
- 打包成一個獨立的單元(以一個jar包或者war包的形式放置到伺服器上面)
- 一個應用隻在一個程序的方式運作
1.2單體架構優點
- 易于管理
- 易于部署
1.3單體架構的缺點
- 不利于測試
- 疊代不便
- 團隊協作難(多人開發時,不友善)
- 跨語言程度差(不利于多言協作)
- 可靠性差
2.RPC(遠端調用過程)
RPC(Remote Procedure Call):遠端過程調用。他一種通過網絡從遠端計算機程式上請求
服務,而不需要了解底層網絡技術的協定。
2.1RPC的優點
- 提升系統可擴充性
- 提升系統可維護性和持續傳遞能力
- 實作系統高可用
2.2RPC的缺點
- 一個完善的RPC架構開發難度大
- RPC架構調用成功率受限于網絡狀況
- 調用遠端方法對初學者來說難度大
3.SOA 架構
SOA(Service oriented Architecture):面向服務架構
它與RPC相比多了一個ESB,不再是用戶端直接調用service。中間加了ESB來管理Service
3.1ESB
ESB(Enterparise Servce Bus):企業服務總線,服務中介。主要是提供了一個服務于服務
之間的互動。
ESB 包含的功能如:負載均衡,流量控制,加密處理,服務的監控,異常處理,監控
告急等等。
代表技術:Mule、WSO2
3.2SOA 架構優點
- 更易維護
- 更高的可用性
- 更好的伸縮性
3.2SOA 架構缺點
- 可靠性(Reliability)
- 安全性(Security)
- 編排 (Orchestration)
- 遺留系統處理(Legacy support)
- 語義 Semantics
4.微服務架構
微服務是一種架構風格。一個大型的複雜軟體應用,由一個或多個微服務組成。系統中
的各個微服務可被獨立部署,各個微服務之間是松耦合的。每個微服務僅關注于完成一件任
務并很好的完成該任務。
4.1微服務特點
- 系統是由多個服務構成
- 每個服務可以單獨獨立部署
- 每個服務之間是松耦合的。服務内部是高内聚的,外部是低耦合的。高内聚就是每個服務隻關注完成一個功能
4.2優點
- 測試容易
- 可伸縮性強
- 可靠性高
- 跨語言程度會更加靈活
- 團隊協作容易
- 系統疊代容易
4.2缺點
- 運維成本過高,部署數量較多
- 接口相容多版本
- 分布式事務
這是個人學習筆記的記錄,部分資料來自于網絡,如有版權問題,可以留言,我及時更正。
。