1 Spring Cloud簡介
Spring Cloud是一個基于Spring Boot實現(xiàn)的云應用開發(fā)工具颓哮,它為基于JVM的云應用開發(fā)中的配置管理家妆、服務發(fā)現(xiàn)、斷路器冕茅、智能路由伤极、微代理蛹找、控制總線、全局鎖哨坪、決策競選庸疾、分布式會話和集群狀態(tài)管理等操作提供了一種簡單的開發(fā)方式。
Spring Cloud包含了多個子項目(針對分布式系統(tǒng)中涉及的多個不同開源產品)当编,比如:Spring Cloud Config届慈、Spring Cloud Netflix、Spring Cloud CloudFoundry忿偷、Spring Cloud AWS金顿、Spring Cloud Security、Spring Cloud Commons鲤桥、Spring Cloud Zookeeper揍拆、Spring Cloud CLI等項目。
2 微服務架構
“微服務架構”在這幾年非常的火熱茶凳,以至于關于微服務架構相關的產品社區(qū)也變得越來越活躍(比如:netflix礁凡、dubbo),Spring Cloud也因Spring社區(qū)的強大知名度和影響力也被廣大架構師與開發(fā)者備受關注慧妄。
那么什么是“微服務架構”呢顷牌?簡單的說,微服務架構就是將一個完整的應用從數據存儲開始垂直拆分成多個不同的服務塞淹,每個服務都能獨立部署窟蓝、獨立維護、獨立擴展饱普,服務與服務間通過諸如RESTful API的方式互相調用运挫。
對于“微服務架構”,大家在互聯(lián)網可以搜索到很多相關的介紹和研究文章來進行學習和了解套耕。也可以閱讀始祖Martin Fowler的《Microservices》谁帕,本文不做更多的介紹和描述。
3 spring cloud 版本
3.1 版本命名
之前提到過冯袍,Spring Cloud是一個擁有諸多子項目的大型綜合項目匈挖,原則上其子項目也都維護著自己的發(fā)布版本號。那么每一個Spring Cloud的版本都會包含不同的子項目版本康愤,為了要管理每個版本的子項目清單儡循,避免版本名與子項目的發(fā)布號混淆,所以沒有采用版本號的方式征冷,而是通過命名的方式择膝。
這些版本名字采用了倫敦地鐵站的名字,根據字母表的順序來對應版本時間順序检激,比如:最早的Release版本:Angel肴捉,第二個Release版本:Brixton腹侣,以此類推……
3.2 版本號
經過上面的解釋,不難猜出齿穗,之前所提到的Angel.SR6傲隶,Brixton.SR5中的SR6、SR5就是版本號了缤灵。
當一個版本的Spring Cloud項目的發(fā)布內容積累到臨界點或者一個嚴重bug解決可用后,就會發(fā)布一個“service releases”版本蓝晒,簡稱SRX版本腮出,其中X是一個遞增數字。
3.3 當前版本
查看spring-cloud官網 http://projects.spring.io/spring-cloud/ 可以看到各版本包含的子項目以及子項目的版本號芝薇,通過此來決定需要選擇怎么樣的版本胚嘲。
不難看出,最初的Angel版本相對來說擁有的子項目較少洛二,Brixton馋劈、Camden則擁有更全的子項目,所以能提供更多的組件支持晾嘶。而Brixton與Camden之間妓雾,Brixton的發(fā)布子項目更為穩(wěn)定,Camden則更為前瞻垒迂。
我在開始編寫Spring Cloud系列博文時械姻,剛好是Brixton的第5個RELEASE版本,所以果斷采用了這個版本來作為樣例基礎机断。也可以看到楷拳,在這短短的幾個月時間里,沒有更新多少文章吏奸,但是其版本提升盡如此迅速欢揖,更加證明了該項目良好的發(fā)展勢頭。