2.1宪卿、簡介
官網(wǎng): http://spring.io/projects/spring-cloud
Spring Cloud是一個基于Spring Boot實現(xiàn)的微服務架構開發(fā)工具戳玫。它為微服務架構中涉及的配置管理、服務治理谤碳、斷路器溃卡、智能路由、微代理蜒简、控制總線搓茬、全局鎖、決策競選雀哨、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式衬浑。
2.2工秩、Spring Cloud子項目
Component | Camden.SR7 | Dalston.SR3 | Edgware.M1 | Finchley.M2 | Finchley.BUILD-SNAPSHOT | 備注 |
---|---|---|---|---|---|---|
spring-cloud-aws | 1.1.4.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 用于簡化整合Amazon Web Service的組件 |
spring-cloud-bus | 1.2.2.RELEASE | 1.3.1.RELEASE | 1.3.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 事件、消息總線,用于傳播集群中的狀態(tài)變化或事件酥郭。 |
spring-cloud-commons | 1.1.9.RELEASE | 1.2.3.RELEASE | 1.3.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | 服務發(fā)現(xiàn)犁跪、負載均衡寝优、熔斷機制這種模式為Spring Cloud客戶端提供了一個通用的抽象層 |
spring-cloud-cli | 1.2.4.RELEASE | 1.3.4.RELEASE | 1.4.0.M1 | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 用于在Groovy平臺創(chuàng)建Spring Cloud應用 |
spring-cloud-contract | 1.0.5.RELEASE | 1.1.3.RELEASE | 1.2.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | |
spring-cloud-config | 1.2.3.RELEASE | 1.3.2.RELEASE | 1.4.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | 配置管理工具妻熊,支持使用git、svn等存儲配置文件。并在支持客戶端配置信息的刷新,加密解密配置內(nèi)容等。 |
spring-cloud-netflix | 1.2.7.RELEASE | 1.3.4.RELEASE | 1.4.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | 核心組件,對多個Netflix OSS開源套件進行整合 |
spring-cloud-security | 1.1.2.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 安全工具包 |
spring-cloud-cloudfoundry | 1.0.1.RELEASE | 1.1.0.RELEASE | 1.1.0.RELEASE2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 整合Pivotal Cloudfoundry(Vmware推出的業(yè)界第一個開源Paas云平臺)支持糙申。 | |
spring-cloud-consul | 1.1.4.RELEASE | 1.2.1.RELEASE | 1.2.1.RELEASE | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 服務發(fā)現(xiàn)與配置管理工具 |
spring-cloud-sleuth | 1.1.3.RELEASE | 1.2.4.RELEASE | 1.3.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | Spring Cloud應用的分布式跟蹤實現(xiàn) |
spring-cloud-stream | Brooklyn.SR3 | Chelsea.SR2 | Ditmars.M2 | Elmhurst.M1 | Elmhhurst.BUILD-SNAPSHOT | 通過Redis榄檬、RabbitMQ衔统、kafka實現(xiàn)的消息服務 |
spring-cloud-zookeeper | 1.0.4.RELEASE | 1.1.2.RELEASE | 1.2.0.M1 | 2.0.0.M1 | 2.0.0.BUILD-SNAPSHOT | 基于Zookeeper的服務發(fā)現(xiàn)與配置管理組件 |
spring-boot | 1.4.5.RELEASE | 1.5.4.RELEASE | 1.5.6.RELEASE | 2.0.0.M3 | 2.0.0.M3 | |
spring-cloud-task | 1.0.3.RELEASE | 1.1.2.RELEASE | 1.2.0.RELEASE | 2.0.0.M1 | 2.0.0.RELEASE | 用于快速構建數(shù)據(jù)處理的應用 |
spring-cloud-vault | 1.0.2.RELEASE | 1.1.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | ||
spring-cloud-gateway | 1.0.0.M1 | 2.0.0.M2 | 2.0.0.BUILD-SNAPSHOT | Spring Cloud網(wǎng)關相關的整合實現(xiàn) |
2.3鹿榜、版本說明
大多數(shù)spring項目都是以“主版本號.次版本號.增量版本號.里程碑版本號”的形式命名版本號的,例如Spring Framework穩(wěn)定版本4.3.5.RELEASE锦爵、里程碑版本5.0.0.M4等舱殿。其中,主版本號表示項目的重大重構险掀;次版本號表示新特性的添加和變化沪袭;增量版本號一般表示bug修復;里程碑版本號表示某版本號的里程碑樟氢。
然而冈绊,Spring Cloud并未使用這種方式管理版本。下面來詳細探討一下Spring Cloud的版本埠啃。
官方版本:
這些版本的名字采用了倫敦地鐵站的名字死宣,根據(jù)字母表的順序來對應版本時間順序,比如最早的Release版本為Angel,第二個Release版本為Brixton....
經(jīng)過上面的解釋碴开,不難猜出毅该,之前所提到的Angel.SR6、Brixton.SR5中的SR6潦牛、SR5就是版本號了眶掌。
當一個版本的Spring Cloud項目的發(fā)布內(nèi)容積累到臨界點或者一個嚴重bug解決可用后,就會發(fā)布一個"service releases"版本巴碗,簡稱SRX版本朴爬,其中X是一個遞增的數(shù)字,所以Brixton.SR5就是Brixtom的第5個Release版本良价。
2.4 Spring Cloud框架特點
- 特定優(yōu)于配置寝殴。
- 適用于各種環(huán)境。開發(fā)明垢、部署在PC Server或各種云環(huán)境(例如阿里云蚣常、AWS等)均可。
- 隱藏了組件的復雜性痊银,并提供聲明式抵蚊、無XML的配置方式。
- 開箱即用,快速啟動贞绳。
- 輕量級的組件谷醉。spring cloud整合的組件大多比較輕量。例如Eureka冈闭、Zuul,等等俱尼,都是各自領域輕量級的實現(xiàn)。
- 組件豐富萎攒,功能齊全遇八。Spring Cloud為微服務架構提供了非常完整的支持。例如耍休,配置管理刃永、服務發(fā)現(xiàn)、斷路器羊精、微服務網(wǎng)關等斯够。
- 選型中立、豐富喧锦。例如,Spring Cloud支持使用Eureka读规、Zookeeper或Consul實現(xiàn)服務發(fā)現(xiàn)。
- 靈活裸违。Spring Cloud的組成部分是解耦的掖桦,開發(fā)人員可按需靈活挑選技術選型。
Spring Cloud—一供汛、微服務架構
Spring Cloud—二枪汪、Spring Cloud簡介
Spring Cloud—三、使用Spring Cloud實現(xiàn)微服務
Spring Cloud—四怔昨、Spring Cloud快速入門
Spring Cloud—五雀久、注冊中心Eureka
Spring Cloud—六、使用Ribbon實現(xiàn)負載均衡
Spring Cloud—七趁舀、容錯保護:Hystrix
Spring Cloud—八赖捌、使用Feign實現(xiàn)聲明式的Rest調(diào)用
Spring Cloud—九、服務網(wǎng)關Spring Cloud Zuul
Spring Cloud—十矮烹、使用Spring Cloud Config統(tǒng)一管理微服務
Spring Cloud—十一越庇、使用Spring Cloud Bus(消息總線)實現(xiàn)自動更新