zoukankan      html  css  js  c++  java
  • Spring Cloud 2020.0.0 正式发布,全新颠覆性版本!

    Spring Cloud 2020.0.0

    没错,Spring Cloud 2020.0.0 正式发布了:

    感谢Java技术栈群友通知,想入群的在公众号Java技术栈后台回复:wx,正在使用 Spring Cloud 的同学有没有觉得奇怪,用的好好的英国伦敦地铁站,版本号怎么突然变成 2020.0.0 了?

    没错,从 Spring Cloud 2020.0.0-M1 开始,Spring Cloud 废除了这种英国伦敦地铁站的命名方式,从而使用了全新的 "日历化" 版本命名方式。

    具体变更的细节这里不展开介绍了,我在好几个月前就分享过了:

    Spring Cloud 2020 版本重大变革,更好的命名方式!

    为什么这次 Spring Cloud 2020.0.0 版本赶在 2020 的最后几天发布,我只能说:

    2020 时间真的已经不多了,再不发布就只能叫:Spring Cloud 2021.0.0

    所以,我猜吧,Spring Cloud 官方也不希望看到新搞出来的版本命名方式还没发布就又要改名了,毕竟 2020 日子不多了,最后一个星期了。。

    技术更新太快了。。

    Maven 中央仓库已可用:

    我们再来打开上一个版本:Hoxton.SR9

    看上面的黄色边框提示,这个项目已经有了一个新的版本:2020.0.0,新的版本时代开启了!

    来吧,愉快地使用 Spring Cloud 吧!

    最新 Maven 依赖管理方式:

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>2020.0.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        ...
    </dependencies>
    

    最新 Gradle 依赖管理方式:

    buildscript {
      dependencies {
        classpath "io.spring.gradle:dependency-management-plugin:1.0.10.RELEASE"
      }
    }
    
    apply plugin: "io.spring.dependency-management"
    
    dependencyManagement {
      imports {
        mavenBom 'org.springframework.cloud:spring-cloud-dependencies:2020.0.0'
      }
    }
    
    dependencies {
      compile 'org.springframework.cloud:spring-cloud-starter-config'
      compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'
      //...
    }
    

    2020 版本重要变更

    下面栈长对 Spring Cloud 2020.0.0 版本发布说明作一个简单总结,以帮助你确定是否升级。

    1、Spring Boot 依赖版本

    这个版本需要依赖 Spring Boot 2.4.1,最新的依赖关系如下:

    Release Train Boot Version
    2020.0.x aka Ilford 2.4.x
    Hoxton 2.2.x, 2.3.x (Starting with SR5)
    Greenwich 2.1.x
    Finchley 2.0.x
    Edgware 1.5.x
    Dalston 1.5.x

    需要升级的小伙伴们看好了~

    参考阅读:Spring Boot 2.4 正式发布,重大调整

    Spring Boot 基础教程看这里:

    https://github.com/javastacks/spring-boot-best-practice

    2、修复大量 bug

    正常维护,这个版本修复了大量的 bug。

    参考:

    https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes#known-issues

    3、项目、模块移除

    1)spring-cloud-netflix 模块移除

    下面的模块已经从 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

    2)移除了对 ribbon、hystrix 和 zuul 的支持

    在已发布的项目中已经移除了对 ribbon、hystrix 和 zuul 的支持。

    hystrix 和 zuul 已经被废除,之前我有在公众号Java技术栈分享过,但是,ribbon 怎么都移除了??

    查了下资料,发现 spring-cloud-loadbalancer 已经取代了 ribbon!

    3)移除了 Spring Cloud Security 项目

    Spring Cloud Security 这个项目删除了,其代码已经移到了 Spring Cloud 各个子项目中了。

    4、Spring Cloud Commons

    注意:Bootstrap 已经被改为默认禁用状态。

    Config Client, Consul, Vault, 和 Zookeeper 增加了 Spring Boot 2.4 中的新的导入配置的方式,即过 spring.config.import 参数导入配置,具体使用的细节请看对应的文档。

    参考阅读:Spring Boot 2.4.0 配置文件重大调整

    如果你想回到老版本的 bootstrap 功能,可以通过两种方式开启它:

    1)通过参数开启

    spring.cloud.bootstrap.enabled=true

    或者:

    spring.config.use-legacy-processing=true

    这个参数需要设置在环境变量或者系统级参数,或者命令行参数。

    2)通过添加依赖开启

    添加这个依赖:

    org.springframework.cloud:spring-cloud-starter-bootstrap

    • 增加了 Spring Cloud LoadBalancer 服务器统计功能;
    • 通常的安全功能已从现已终止的 Spring Cloud Security 项目移至此处;
    • 增加了使用 spring.config.import 进行解密的支持;

    5、Spring Cloud Contract

    记录了如何在 Windows 上克隆项目。

    6、Spring Cloud Kubernetes

    1)增加了基于 Kubernetes Java 客户端的响应式客户端发现实现;

    2)增加了基于 Kubernetes Java 客户端的 Spring Cloud Loadbalancer 实现;

    7、Spring Cloud Openfeign

    1)支持在 Spring Cloud CircuitBreakers 中包装 feign 客户端;

    2)Spring Cloud OpenFeign 安全部分的代码,从 Spring Cloud Security 移到了 Spring Cloud OpenFeign;

    3)增加了 LoadBalancer 统计功能;

    8、Spring Cloud Gateway

    增加了 LoadBalancer 统计功能。

    9、Spring Cloud Netflix

    1)移除了若干模块,见上面的第3点说明;

    2)基于 Eureka Client 的 RestTemplate 已支持 TLS 属性;

    10、Spring Cloud Task

    1)增加了有关单步批处理作业的文档;

    以下模块作为 2020.0.0 的一部分进行了更新:

    总结

    好了,本次的版本说明就总结到这里了,更多的细节请参考下面发布说明:

    https://spring.io/blog/2020/12/22/spring-cloud-2020-0-0-aka-ilford-is-available
    https://github.com/spring-cloud/spring-cloud-release/wiki/Spring-Cloud-2020.0-Release-Notes

    另外,想学习更多的 Spring Cloud 教程,请关注公众号Java技术栈,在后台回复:cloud,历史 Spring Cloud 的教程我都整理好了,都是干货。

    个人感觉这次的版本更新还是挺大的,包括 Spring Boot 的依赖版本升级到了 2.4,还有很多项目和模块的移除和变更,以及不再支持 Ribbion/ Hystrix/ Zuul,等等……

    这些变更对于使用 Spring Cloud 的用户来说,无疑增加了很多不确定性,增加了系统升级的成本和风险,维护升级真不是一件容易的事。

    说话你们用了 Spring Cloud 什么版本?

    说实话,我已经更新不动了……

    版权申明:本文系公众号 "Java技术栈" 原创,原创实属不易,转载、引用本文内容请注明出处,禁止抄袭、洗稿,请自重,尊重他人劳动成果和知识产权。

    近期热文推荐:

    1.Java 15 正式发布, 14 个新特性,刷新你的认知!!

    2.终于靠开源项目弄到 IntelliJ IDEA 激活码了,真香!

    3.我用 Java 8 写了一段逻辑,同事直呼看不懂,你试试看。。

    4.吊打 Tomcat ,Undertow 性能很炸!!

    5.《Java开发手册(嵩山版)》最新发布,速速下载!

    觉得不错,别忘了随手点赞+转发哦!

  • 相关阅读:
    Java实现 LeetCode 617 合并二叉树(遍历树)
    Java实现 LeetCode 611 有效三角形的个数(双指针)
    Java实现 LeetCode 611 有效三角形的个数(双指针)
    Java实现 LeetCode 611 有效三角形的个数(双指针)
    Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
    Java实现 LeetCode 609 在系统中查找重复文件(阅读理解+暴力大法)
    PHP mb_substr() 函数
    PHP substr() 函数
    PHP strtr() 函数
    PHP strtoupper() 函数
  • 原文地址:https://www.cnblogs.com/javastack/p/14183634.html
Copyright © 2011-2022 走看看