Spring Cloud 多版本管理那些事。
好久没有研究 Spring Cloud 了,也没有关注它的更新及新特性,上官网看了下,又增加了几个版本,有正式版有预览版,多达 6 个版本,实在让人蒙逼。
而我们的项目版本还仪停留在 Dalston SR1 版本。
Spring Cloud 的多版本
这么多不同的版本,它们都有什么区别,我们开发微服务到底使用哪一个版本呢?这些版本与 Spring Boot 版本又是一个怎样的依赖关系?带着这些问题,我们必须把它一一搞清楚,不然总会让你很头疼。。
首先 Spring Cloud 是一个由很多子项目组成的庞大项目,Spring Cloud 的主要项目如下:
Spring Cloud Config
Spring Cloud Netflix
Spring Cloud Bus
Spring Cloud Cluster
Spring Cloud Security
...
更多请参考官方说明:
https://projects.spring.io/spring-cloud/
然而,这些子项目都有不同的发布阶段,为了管理主项目和子项目的依赖关系,以及为了避免和子项目版本的冲突和误解,主项目版本命名并没有采用和子项目数字版本化的形式,而是采用了英文名称。
英文命名方式也比较有意思,Spring Cloud 采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本。
由上可知,Spring Cloud 的第一个版本 "Angel" 就不觉得奇怪了,接着 "Brixton" 就是第二个版本。当一个项目到达发布临界点或者解决了一个严重的BUG后就会发布一个 "service Release" 版本, 简称 SR(X)版本,x 代表一个递增数字。
由此我们可以得出 "Finchley M9" 就是目前最新的开发版本,"Edgware SR3" 是最新稳定版本。
Spring Cloud 版本依赖关系
下图揭示了主项目和子项目版本的依赖关系。
Spring Cloud & Spring Boot 依赖关系
- Finchley 是基于 Spring Boot 2.0.x 构建的,不支持 Spring Boot 1.5.x
- Dalston 和 Edgware 是基于 Spring Boot 1.5.x 构建的,不支持 Spring Boot 2.0.x
- Camden 构建于 Spring Boot 1.4.x,但依然能支持 Spring Boot 1.5.x
注意:Brixton 和 Angel 版本在2017年7月已经停止更新迭代了,我们就不关注它的版本依赖关系了。
Spring Cloud 正处理高速发展期,版本发布更新太快,项目更新版本还要考虑兼容性等各种问题,让人很头疼!后续我会慢慢揭开这些面纱。。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章