一、服務架構演變。
單體架構:
將業務的所有功能集中在一個項目中開發,打成一個包部署。
優點:架構簡單 ,部署成本低。
缺點:耦合度高
分布式架構?
根據業務功能對系統進行拆分,每個業務模塊作為獨立項目開發,稱為一個服務。?
優點:?降低服務耦合 有利于服務升級拓展
服務治理?
分布式架構的要考慮的問題:
服務拆分粒度如何? 服務集群地址如何維護? 服務之間如何實現遠程調用? 服務健康狀態如何感知?
微服務?
微服務是一種經過良好架構設計的分布式架構方案,微服務架構特征:
單一職責:微服務拆分粒度更小,每一個服務都對應唯一的業務能力,做到單一職責,避免重復業務開發
面向服務:微服務對外暴露業務接口
自治:團隊獨立、技術獨立、數據獨立、部署獨立
隔離性強:服務調用做好隔離、容錯、降級,避免出現級聯問題
?總結
單體架構特點?
簡單方便,高度耦合,擴展性差,適合小型項目。例如:學生管理系統
分布式架構特點?
松耦合,擴展性好,但架構復雜,難度大。適合大型互聯網項目,例如:京東、淘寶
微服務:一種良好的分布式架構方案
優點:拆分粒度更小、服務更獨立、耦合度更低
缺點:架構非常復雜,運維、監控、部署難度提高
二、微服務結構。
1、微服務結構。
微服務這種方案需要技術框架來落地,全球的互聯網公司都在積極嘗試自己的微服務落地技術。在國內最知名的就是SpringCloud和阿里巴巴的Dubbo
?2、SpringCloud
SpringCloud是目前國內使用最廣泛的微服務框架。官網地址:https://spring.io/projects/spring-cloud。
SpringCloud集成了各種微服務功能組件,并基于SpringBoot實現了這些組件的自動裝配,從而提供了良好的開箱即用體驗:?