近期楼主正在阅读《SpringCloud与Docker微服务架构实战》一书,遂开篇以作阅读总结和知识概括
什么是Spring Cloud?
Spring Cloud虽然带有“Cloud”字样,但它并不是云计算解决方案,而是在Spring Boot基础上构建的,用于快速构建分布式系统的通用模式的工具集。使用Spring Cloud开发的应用程序非常适合在Docker或者PaaS上部署,所以又叫云原生【面向云环境的软件架构】应用。
Spring Cloud是基于Spring Boot构建的,因此他延续了Spring Boot的契约模式以及开发方式
为什么要使用Spring Cloud?
Spring Cloud有以下优点:
- 约定优于配置
- 适用于各种环境。可以开发、部署在PC Server或各种云环境【阿里云、AWS】
- 隐藏组件的复杂性
- 开箱即用,快速启动
- 轻量级的组件。Spring Cloud整合了很多业界比较优秀的组件且比较轻量。例如Eureka、Zuul等
- 组件丰富,功能齐全。Spring Cloud为微服务架构提供了非常完整的支持。例如,配置管理、服务发现、断路器、微服务网关等
- 选型中立,丰富【各个组件都有很多替换性方案】
- 灵活,Spring Cloud的组成部分是解耦的,开发人员可以灵活挑选
Spring Cloud的版本命名
除了Spring Cloud以外的大多数项目都是以“主版本号.次版本号.增量版本号.里程碑版本号”的形式命名版本号的,例如Spring Framework稳定版4.3.5.RELEASE、里程碑版本5.0.0.M4等。其中,主版本号表示项目的重大重构;次版本号表示新特性的添加和变化;增量版本号一般表示Bug的修复;里程碑版本号表示某版本的里程碑。然而,Spring Cloud并未使用这种方式管理版本。
Spring Cloud版本
Spring Cloud 以英文单词SRX(X为数字)的形式命名版本号。
Spring Cloud是一个综合项目,它包含很多的子项目。由于子项目也维护者自己的版本号,Spring Cloud采用了这种方式从而避免与子项目的版本混淆。Spring Cloud以伦敦地铁站命名,按照字母顺序发行【主版本的演进】,SR【Service Release】,一般表示Bug修复;在SR版本发布之前,会先发布一个Release版本。
Spring Cloud与子项目版本兼容说明
可在官网查阅:官网地址