查看原文
其他

Spring Cloud Greenwich.RELEASE 正式发布!一个非常有看头的版本!

Ryan Baxter 程序猿DD 2019-07-13

译文来源:Spring技术社区


Spring Cloud Greenwich.RELEASE 现已正式发布,可以在 Spring Milestone 和 Maven Central 库获取到。也可以查看 Greenwich 发布说明了解更多信息。


寿命终止(EOL)提醒

Edgware 版本将于 2019 年 8 月 1日进入 EOL 状态。详细说明参见 Spring Cloud Edgware 将在2019年8月1号 EOL。

Spring Cloud Finchley 发布版本是目前的主要版本,与 Spring Boot 2.0.x 版本保持一致。因此,Spring Cloud Finchley 的版本发布将随着 Spring Boot 2.0.x 版本分钟进入 EOL 而相应终止维护。当明确的时间确定之后,具体的宣布声明届时将会以博客文章的形式发布出来。

Spring Cloud Greenwich 发布版本是一个小版本,将会持续提供支持一直到 Spring Boot 2.x 分支结束。

Greenwich 版本值得注意的更新

所有相关的项目也都已经兼容 Java 11。

新项目

Greenwich 包括了两个新项目: Spring Cloud GCP 和 Spring Cloud Kubernetes. 前者为 Google Cloud Platform(GCP)的服务提供了集成支持,后者提供了 Kubernetes 的集成。

Spring Cloud Netflix 项目进入维护模式

最近,Netflix 宣布 Hystrix 正在进入维护模式。自 2016 年以来,Ribbon 也已处于类似状态。虽然 Hystrix 和 Ribbon 现在处于维护模式,但它们仍然在 Netflix 上大规模部署。


Hystrix Dashboard 和 Turbine 已被 Atlas 取代。这些项目的最后提交分别是 2 年和 4 年前。Zuul 1 和 Archaius 1 都被后来不兼容的版本所取代。


以下 Spring Cloud Netflix 模块和相应的起步依赖将进入维护模式:


  1. spring-cloud-netflix-archaius

  2. spring-cloud-netflix-hystrix-contract

  3. spring-cloud-netflix-hystrix-dashboard

  4. spring-cloud-netflix-hystrix-stream

  5. spring-cloud-netflix-hystrix

  6. spring-cloud-netflix-ribbon

  7. spring-cloud-netflix-turbine-stream

  8. spring-cloud-netflix-turbine

  9. spring-cloud-netflix-zuul


这不包括 Eureka 或并发限制模块。

什么是维护模式?

将模块置于维护模式意味着 Spring Cloud 团队将不再向模块添加新功能。我们将修复重大程序错误和安全问题,我们还将考虑并审查社区的小的拉取请求(PR)。

我们打算继续支持这些模块,从 Greenwich 正式发布可用之后算起至少一年的时间。

替代项目

我们建议将以下内容替换为这些模块提供的功能。


查看有关 Spring Cloud Loadbalancer 的后续博客文章,并与新的 Netflix 项目 Concurrency Limits 集成。

Spring Cloud Sleuth

  • 升级到最新的 Brave 库

  • WebFlux 和 Reactor 集成的性能得到提升

  • 支持 gRPC 插桩检测

  • 增加了对多个跨度报告的支持

  • 增加了限速采样器支持

Spring Cloud GCP

详见 Google 产品和服务介绍

Spring Cloud Netflix

  • 升级 Ribbon 和 Eureka 的版本

  • 增加了新的字段 ServiceInstance.instanceId

Spring Cloud Consul

  • 增加了新的字段 ServiceInstance.instanceId

Spring Cloud Gateway

  • 增加可重写响应头的过滤器

  • 在各自的路由谓词中为多个路径和主机添加了支持,并且可以自定义在某些情况下返回的 HTTP 状态码

Spring Cloud Function

  • 支持 Kotlin

  • 为 Azure 函数提供的新编程模型

  • 在 Web 适配器启动时自动(可选)导出Supplier

  • 函数式 Bean 的注册

  • 更多介绍

Spring Cloud Stream

  • 详见 发布说明

Spring Cloud Zookeeper

  • 增加新的字段 ServiceInstance.instanceId

Spring Cloud Task

  • 详见 发布说明

Spring Cloud Kubernetes

  • 现在可以将 ServiceInstance 元数据配置为来自 Kubernetes Labels、Annotations 和 Ports

  • 在引导期间使用 KubernetesDiscoveryClient 进行了增强

  • 添加了一个模块来检测 Istio 的存在

Spring Cloud Contract

  • 新增支持 XML payloads

  • 允许将合同转储为通用表示

  • 添加了 WebTestClient 支持,用于测试与 WebFlux 的合约

  • 改进了 Pact 集成

  • 添加了 Camel 支持

  • 添加了 JUnit5 支持

  • 升级 WireMock 到最新版本

  • 添加了二进制负载的支持

  • 添加了对 Git 存储中最新版本的支持

  • 允许为正则表达式生成提供显式类型

Spring Cloud Security

Spring Cloud Gateway 过滤器新增支持 OAuth2。这里有一个简单 演示程序。

Spring Cloud Config

  • 新增 EnvironmentRepository 以支持 CredHub 后端服务

Spring Cloud Vault

  • 新增支持 Google Cloud 和 Azure 认证

  • 升级到 Spring Vault 2.1.1

Spring Cloud Openfeign

  • 支持增加注解 @QueryMap

  • 升级到 OpenFeign 10.1.0

Spring Cloud Commons

  • ServiceInstance 接口新增了 instanceId

  • 新增 ReactiveLoadBalancer 接口,通过 Reactor 实现



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


要使用BOM开始使用Maven(仅限依赖关系管理):

<dependencyManagement>    <dependencies>        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-dependencies</artifactId>            <version>Greenwich.RELEASE</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.2.RELEASE"    }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {    imports {        mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Greenwich.RELEASE'    }
}

dependencies {    compile 'org.springframework.cloud:spring-cloud-starter-config'    compile 'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client'    ...

}


原文: https://spring.io/blog/2019/01/23/spring-cloud-greenwich-release-is-now-available
作者: Ryan Baxter
编译: 春之雨



号外:最近整理了一下以前编写的一系列Spring Boot内容,整了个《Spring Boot基础教程》的PDF,关注我,回复:001,快来领取吧~!002 资源也即将整理出炉,先关注我吧!随后奉上更多精选学习资料!!!


·END·


 近期热文:


看完,赶紧点个“好看”鸭

点鸭点鸭

↓↓↓↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存