目录
1. 简介
- 此篇开始进入Spring Cloud的学习理解之路,核心是以demo的方式记录Spring Cloud的基础用法。
- 此篇是对Spring Cloud的整体的理解
- 结合GitHub上项目来记录,每篇会跟GitHub的地址
- 每篇博客会记录一个点,并且向GitHub上提交一次,旨在可以直接切换到指定的一次提交时,代码与博客中完全一致。而不是看第一篇文章时,demo却已包含了其他很多功能验证实现。
2. Spring Cloud是什么
Spring Cloud 是一个基于Spring boot,用于快速构建分布式系统的通用模式的工具集。 为微服务架构中涉及的配置管理、服务治理、限流熔断、智能路由、API网关、控制总线、全局锁、分布式会话、调用链监控、 集群状态管理等提供了一种简单的开发方式。
3. 为什么使用Spring Cloud
- 提供了微服务架构涉及的各个方面的解决方案与技术实现,并且业界有实际实践
- 微服务架构集大成者,并且与各个子项目的兼容有保证,自已实现的框架则需要进行大量的兼容性测试。
- Spring Cloud开发的应用非常适合在Docker或者PaaS(Cloud Foundry)上部署,又叫云原生应用(Cloud Native Application),大大降低运维难度和成本
- 可结合Docker实现快速发布和持续交付。
- 由Spring、Netflix、Pivotal共同演进,Spring Cloud会越来越完善
- 社区活跃度高、文档丰富
4. Spring Cloud版本号理解
Spring Cloud的版本号命名方式与以往项目不同,并且每个大版本下的小版本号命名方式也同样不同,理解版本号的命名方式与缘由对搞清Spring Cloud的演进和版本选择很重要。
4.1 为什么采用单词做版本名称
Spring Cloud包含的各个子项目都独立的进行着内容的迭代与更新,各自维护自己的发布版本号,每一个Spring Cloud的版本都包含了不同版本的子项目,为了管理每个版本的子项目清单,避免版本号与其子项目的版本号混淆,故没有采用版本号的方式,而是采用版本名的方式。
4.2 版本命名方式
- 版本名称第一个单词缘由:采用的伦敦地铁站的名字,按照字母排序对应版本的时间顺序。比如最早的RELEASE版本是 Angel,第二是Birxton……
- 版本名称中SR缘由:当一个Spring cloud 项目的发布内容积累到临界点或者一个严重的BUG解决可用后,就会发布一