微服务与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。

你可能感兴趣的:(微服务与Spring Cloud基本概念、Spring Cloud版本命名方式与版本选择)