Spring Cloud微服務框架介紹


Spring Cloud為開發人員提供了一整套的快速構建分布式應用的工具,入服務注冊、服務發現、熔斷、負載均衡、路由等,提供了開箱即用的各種依賴以及良好的可擴展機制。

目前在Spring Cloud的中文官網中列出了很多優質項目:
image

Spring Cloud沒有重復的制造輪子,它吸取了很多家公司的優秀項目框架,通過Spring Boot的快速整合,屏蔽了復雜的配置,方便開發者快速構建自己需要的服務。

目前Spring Cloud為我們可以提供以下服務:

image

下面我們介紹幾個常用的Spring Cloud下的服務組件。

1. Eureka

Netfilix公司出品(大佬為Spring Cloud生態提供了很多服務治理的組件)。

服務發現是微服務架構的原則之一,用於定位你在本地可提供的服務。Eureka是一個基於REST的雲端服務發現的應用,當客戶端注冊Eureka服務時,提供了一系列自身的元數據,入主機、健康指示符URL等參數,Eureka服務器接收心跳消息維持這種服務。

2. Hystrix

熔斷器,容錯管理工具,旨在通過熔斷機制控制服務和第三方庫的節點,從而對延遲和故障提供更強大的容錯能力。

加入你目前的軟件架構如下:
image
當ServiceB出現服務故障,並達到一定的閾值(Hystrix的默認是5秒內出現20次故障),則出現熔斷機制,啟用回退機制:
image

fallback機制可以是啟動替代服務,也可以是讓該服務下線。

3. Spring Cloud Config

配置中心,可以把配置放到遠程服務器,進行集中化管理分布式環境下的配置,支持Git和SVN。

4. Spring Cloud Bus

事件、消息總線,用於在集群(例如,配置變化事件)中傳播狀態變化,可與Spring Cloud Config聯合實現熱部署。

5. Spring Cloud Zookeeper

Spring Boot抱緊ZK的大腿。

6. 和Spring Boot的關系

Spring Boot是快速開發Spring應用的腳手架,Spring Cloud是一個基礎Spring Boot實現的雲應用開發工具集合。

7. 結尾語

Spring Cloud特別適合中小型公司,因為它們往往沒有足夠的財力開發各種基礎設施,而Spring Could提供了一站式解決方案,大大減少了開發成本。對於大公司,Spring Could也方便構建核心系統之外的微服務,甚至抽絲剝繭般地對原來的巨型核心系統解耦。因此筆者相信Spring Cloud可成為下一代服務端框架的重要選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM