基於springCloud的分散式架構體系
阿新 • • 發佈:2018-12-15
Spring Cloud作為一套微服務治理的框架,幾乎考慮到了微服務治理的方方面面,之前也寫過一些關於Spring Cloud文章,主要偏重各元件的使用,本次分享主要解答這兩個問題:Spring Cloud在微服務的架構中都做了哪些事情?Spring Cloud提供的這些功能對微服務的架構提供了怎樣的便利? 我們先來簡單回顧一下,我們以往網際網路架構的發展情況: 傳統架構發展史單體架構單體架構在小微企業比較常見,典型代表就是一個應用、一個數據庫、一個web容器就可以跑起來,比如我們開發的開源軟體雲收藏,就是標準的單體架構。 在兩種情況下可能會選擇單體架構:一是在企業發展的初期,為了保證快速上線,採用此種方案較為簡單靈活;二是傳統企業中垂直度較高,訪問壓力較小的業務。在這種模式下對技術要求較低,方便各層次開發人員接手,也能滿足客戶需求。
- 微服務架構強調業務系統需要徹底的元件化和服務化,一個元件就是一個產品,可以獨立對外提供服務
- 微服務不再強調傳統SOA架構裡面比較重的ESB企業服務匯流排
- 微服務強調每個微服務都有自己獨立的執行空間,包括資料庫資源。
- 微服務架構本身來源於網際網路的思路,因此元件對外發布的服務強調了採用HTTP Rest API的方式來進行
- 微服務的切分粒度會更小
- Spring Cloud來源於Spring,質量、穩定性、持續性都可以得到保證
- Spirng Cloud天然支援Spring Boot,更加便於業務落地。
- Spring Cloud發展非常的快,從16年開始接觸的時候相關元件版本為1.x,到現在將要釋出2.x系列
- Spring Cloud是Java領域最適合做微服務的框架。
- 相比於其它框架,Spring Cloud對微服務周邊環境的支援力度最大。
- 對於中小企業來講,使用門檻較低。
- 分散式/版本化配置
- 服務註冊和發現
- 路由
- 服務和服務之間的呼叫
- 負載均衡
- 斷路器
- 分散式訊息傳遞
- 其中Eureka負責服務的註冊與發現,很好將各服務連線起來
- Hystrix 負責監控服務之間的呼叫情況,連續多次失敗進行熔斷保護。
- Hystrix dashboard,Turbine 負責監控 Hystrix的熔斷情況,並給予圖形化的展示
- Spring Cloud Config 提供了統一的配置中心服務
- 當配置檔案發生變化的時候,Spring Cloud Bus 負責通知各服務去獲取最新的配置資訊
- 所有對外的請求和服務,我們都通過Zuul來進行轉發,起到API閘道器的作用
- 監控我們使用Sleuth+Zipkin+springAdmin將所有的請求資料記錄下來,方便我們進行後續分析
微服務架構是一種趨勢,Spring Cloud提供了標準化的、全站式的技術方案,意義可能會堪比當前Servlet規範的誕生,有效推進服務端軟體系統技術水平的進步。
轉載 : http://www.iteye.com/news/32734