微服務與Spring Cloud基本概念、Spring Cloud版本命名方式與版本選擇

微服務是什麼?
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進程

Table 1. Release train Spring Boot compatibility
Release Train Boot Version

Hoxton

2.2.x

Greenwich

2.1.x

Finchley

2.0.x

Edgware

1.5.x

Dalston

1.5.x

  

Table 2. Release train contents
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。

相關文章
相關標籤/搜索