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


微服務是什么?
Spring Cloud是什么?
Spring Cloud版本命名方式?
Spring Cloud版本選擇?

一、微服務是什么

微服務是一種架構風格,是一種將單體應用開發為一組小型服務的方法,每個服務運行在自己的進程中,服務間通信采用輕量級通信機制(通常用HTTP資源API)。這些服務圍繞業務能力構建並且可通過全自動部署機制獨立部署。這些服務共用一個最小型的集中式的管理,服務可用不同的語言開發,使用不同的數據存儲技術。

二、Spring Cloud是什么

Spring Cloud並不是一個具體的框架,可以理解為一個工具箱,它提供了各類工具,可以快速構建分布式系統。
Spring Cloud的各個項目基於Spring Boot,將Netflix的多個框架進行封裝,並且通過自動配置的方式將這些框架綁定到Spring的環境中。

三、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”,里程碑版,具有一些全新的功能或是具有里程碑意義的版本。

四、Spring Cloud版本選擇

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。


免責聲明!

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



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