开发者学堂课程【Spring Cloud 微服务架构设计与开发实战 :1.10 Spring Cloud 2020 重大变化与选型提示】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/60/detail/1104
1.10 Spring Cloud 2020 重大变化与选型提示
内容介绍
一、Spring Cloud 2020 发布及重大变化
二、Spring Cloud与Spring Boot 版本对应关系
三、Spring Cloud 2020 重大变化
四、Spring Cloud2020 以下项目从spring-cloud-netflix 删除
五、Spring Cloud 2020 微服务架构学习提醒
六、Spring Cloud 2020 微服务架构设计提醒
一、Spring Cloud 2020 发布及重大变化
1.Spring Cloud 整个体系在2020版本的重大变化,因为 Spring Cloud2020 现在开始改变发布周期,2020年Spring Cloud 重新规划了一个全新的发展路线,端口号命名规则已经改成年份加后面扩展版本号。
2.课程以 Spring Cloud 之前比较成熟的框架为主,这个发布有一部分属于更新,有一部分是移除。但不影响整个的学习路线。
3.Spring Cloud 体系本身相对来说出现比较早而且比较新,整个技术迭代比较快,现在使用的问题是,直接学习几十个框架类不现实,可以选一个主线,以奈飞的贡献的框架为主,是一个很好的比较成熟的一套微服务框架的体系,可以作为一个学习的起点,在20发布以后,后续有一些框架停止支持,但是作为一个微服务框架,他里面有很多成熟的设计模式思想包括算法可以供大家借鉴,在学习技术时很重要的是底层的代码和设计思想设计模式还有算法,对学习有很大帮助。
二、Spring Cloud 与 Spring Boot 版本对应关系
Spring Cloud版本 |
发布时间 |
Spring Boot版本 |
2020.0.x aka llford |
2020/12 |
2.4x |
Hoxton |
2019-07 |
2.2x,2.3x(Starting with SR5) |
Greenwich |
2018-11 |
2.1x |
Finchley |
2017-10 |
2.0x |
Edgware |
2017-08 |
1.5x |
Dalston |
2017-05 |
1.5x |
1.目前新的版本是 Spring Cloud2020 版,Spring Boot 使用的版本是2.4.x,在当前的时间点上在选型微服务架构可以选择表格中前三个的版本,Finchley、Edgware、Dalston 基本停止支持,到现在也可以用,现在有很多企业用Edgware 版本,以后在做微服务架构时尽量用最新的版本,像 Hoxen 或 Greenwich 这两个比较成熟的版本,不要太旧也不要太新,新的版本还不太完善。
2.提示:新项目请使用2.1x以后的版本,Spring Cloud Dalston,Edgware,and Finchley不在支持
三、Spring Cloud 2020 重大变化
1.架构选型注意版本差别
2.Spring Cloud 2020 基于 Spring Boot 2.4,不支持低版本
3.删除部分 Spring Cloud Netflix 组件
4. Bootstrap 默认禁用,可以使用依赖兼容老项目
org.springframework.cloud:spring-cloud-starter-bootstrap
5. Spring Cloud LoadBalancer 支持服务端统计
6.Spring Cloud Kubernetes 新增响应式 Java Client、LB统计
7. Spring Cloud Openfeign 支持 Spring Cloud CircuitBreakers
8.Spring Cloud Security 代码移到独立的项目中
9. Spring Cloud Gateway 支持 LoadBalancer统计
10.Eureka Client 的 RestTemplate 支 持TLS 属性
四、Spring Cloud2020 以下项目从 spring-cloud-netflix 删除
spring-cloud-netflix-archaius
spring-cloud-netflix-concurrency-limits
spring-cloud-netflix-core
spring-cloud-netflix-dependencies
spring-cloud-netflix-hystrix
spring-cloud-netflix-hystrix-contract
spring-cloud-netflix-hystrix-dashboard
spring-cloud-netflix-hystrix-stream
spring-cloud-netflix-ribbon
spring-cloud-netflix-sidecar
spring-cloud-netflix-turbine
spring-cloud-netflix-turbine-stream
spring-cloud-netflix-zuul
spring-cloud-starter-netflix-archaius
spring-cloud-starter-netflix-hystrix
spring-cloud-starter-netflix-hystrix-dashboard
spring-cloud-starter-netflix-ribbon
spring-cloud-starter-netflix-turbine
spring-cloud-starter-netflix-turbine-stream
spring-cloud-starter-netflix-zuul
Support for ribbon,hystrix and zuul was removed across the release train projects.
五、Spring Cloud 2020 微服务架构学习提醒
1.学习建议
2.建议学习 Greenwich 以上(2.1.X版本)版本
3.Spring Cloud Netflix Greenwich 以上(2.1.X 版本)相对成熟
4.Spring Cloud Alibaba 相对成熟,部分组件可以替换
5.企业使用多,踩坑基本完毕, 容易落地架构
6.新版本2020可以作为扩展学习
六、Spring Cloud 2020 微服务架构设计提醒
1.慎重选择新版本
2.企业微服务架构大量的1.5.X 版本、2.0.X 版本
3.推荐架构设计使用 Greenwich 以上(2.1.X版本)
4.Spring Cloud Netflix 相对成熟
5.Spring Cloud Alibaba 相对成熟
6.新的 Spring Cloud2020 版本需要一段时间检验,踩坑