微服務是什麼?
Spring Cloud是什麼?
Spring Cloud版本命名方式?
Spring Cloud版本選擇?spring
1、微服務是什麼架構
微服務是一種架構風格,是一種將單體應用開發爲一組小型服務的方法,每一個服務運行在本身的進程中,服務間通訊採用輕量級通訊機制(一般用HTTP資源API)。這些服務圍繞業務能力構建而且可經過全自動部署機制獨立部署。這些服務共用一個最小型的集中式的管理,服務可用不一樣的語言開發,使用不一樣的數據存儲技術。框架
2、Spring Cloud是什麼分佈式
Spring Cloud並非一個具體的框架,能夠理解爲一個工具箱,它提供了各種工具,能夠快速構建分佈式系統。
Spring Cloud的各個項目基於Spring Boot,將Netflix的多個框架進行封裝,而且經過自動配置的方式將這些框架綁定到Spring的環境中。spring-boot
3、Spring Cloud版本命名方式微服務
大多數Spring項目以「主版本號.次版本號.增量版本號.里程碑版本號」的形式命名版本。
主版本號表示項目的重大重構;
次版本號表示新特性的添加和變化;
增量版本號通常表示Bug修復;
里程碑版本號表示某版本號的里程碑;
例如Spring Framework穩定版本4.3.5.RELEASE、里程碑版本5.0.0.M4等。工具
可是Spring Cloud未採用上面這種方式,以「英文單詞SRX(X爲數字)」的形式命名版本號。
Spring Cloud是一個綜合項目,包含不少的子項目,因爲子項目也維護着本身的版本號,因此採用這種命名方式避免與子項目的版本混淆。
其中「英文單詞」叫作「release train」,Camden、Dalston、Edgware等都是倫敦地鐵的名稱,按照字母順序發行。
「SR」表示「Service Release」,通常表示Bug修復;
在SR版本發佈以前,會先發佈一個Release版本,例如在發佈Edgware SR1以前,會先發布Edgware RELEASE。
「RC」表示「Release Candidate」候選版本,幾乎不會加入新功能,着重於除錯,是最終版以前的最後版本。
「SNAPSHOT」快照版本,不穩定、尚處於開發中的版本。
「M」表示「Milestone」,里程碑版,具備一些全新的功能或是具備里程碑意義的版本。ui
4、Spring Cloud版本選擇spa
Spring Cloud版本與與子項目版本關係可查看:https://spring.io/projects/spring-cloud進程
Release Train | Boot Version |
---|---|
Hoxton |
2.2.x |
Greenwich |
2.1.x |
Finchley |
2.0.x |
Edgware |
1.5.x |
Dalston |
1.5.x |
Component | Edgware.SR6 | Greenwich.SR2 | Greenwich.BUILD-SNAPSHOT |
---|---|---|---|
spring-cloud-aws |
1.2.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-bus |
1.3.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-cli |
1.4.1.RELEASE |
2.0.0.RELEASE |
2.0.1.BUILD-SNAPSHOT |
spring-cloud-commons |
1.3.6.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-contract |
1.2.7.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-config |
1.4.7.RELEASE |
2.1.3.RELEASE |
2.1.4.BUILD-SNAPSHOT |
spring-cloud-netflix |
1.4.7.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-security |
1.2.4.RELEASE |
2.1.3.RELEASE |
2.1.4.BUILD-SNAPSHOT |
spring-cloud-cloudfoundry |
1.1.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-consul |
1.3.6.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-sleuth |
1.3.6.RELEASE |
2.1.1.RELEASE |
2.1.2.BUILD-SNAPSHOT |
spring-cloud-stream |
Ditmars.SR5 |
Fishtown.SR3 |
Fishtown.BUILD-SNAPSHOT |
spring-cloud-zookeeper |
1.2.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-boot |
1.5.21.RELEASE |
2.1.5.RELEASE |
2.1.8.BUILD-SNAPSHOT |
spring-cloud-task |
1.2.4.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-vault |
1.1.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-gateway |
1.0.3.RELEASE |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
spring-cloud-openfeign |
2.1.2.RELEASE |
2.1.3.BUILD-SNAPSHOT |
|
spring-cloud-function |
1.0.2.RELEASE |
2.0.2.RELEASE |
2.0.3.BUILD-SNAPSHOT |
Greenwich builds and works with Spring Boot 2.1.x, and is not expected to work with Spring Boot 1.5.x.
例如,Greenwich 版本基本Spring Boot 2.1.x構建,不兼容以前版本,如Spring Boot 1.5.x。