Spring Cloud Finchley.RELEASE 已发布

发布 | Spencer Gibb | 2018 年 6 月 19 日 | ...

我代表社区很高兴地宣布,Spring Cloud Finchley 发布列车的通用版本 (RELEASE) 今天已可用。该版本可在 Maven Central 中找到。您可以在 Finchley 发布说明中查看更多信息

发布列车版本的生命周期公告

Camden 发布列车已达到生命周期结束状态。Dalston 发布列车将于 2018 年 12 月达到生命周期结束状态。Edgware 发布列车将遵循 Spring Boot 1.5.x 系列的生命周期结束。

Finchley 发布列车的显著变化

Spring Cloud Function 和 Spring Cloud Gateway 是 Spring Cloud 产品组合的新增成员。该组合还与 Spring Boot 2.0.x 兼容,这是一项重要的工作。Spring Cloud 现在要求最低 Java 版本为 8。

Spring Cloud Gateway

Spring Cloud Gateway 是基于 Spring Webflux 和 Reactor Netty 构建的 API 网关。它是下一代网关,可以被视为 Spring Cloud Netflix Zuul 的替代品。它基于易于定义的谓词提供动态路由。它还提供作用域限定在每个路由的过滤器,例如:路径重写、断路器、添加或删除头部、限流和安全。路由可以使用属性或使用包含的对 DiscoveryClient(Eureka、Consul & Zookeeper)的支持来定义。

Spring Cloud Function

Spring Cloud Function 是一个具有以下高级目标的项目

  • 通过函数促进业务逻辑的实现。
  • 将业务逻辑的开发生命周期与任何特定的运行时目标解耦,以便相同的代码可以作为 Web 端点、流处理器或任务运行。
  • 支持跨无服务器提供商的统一编程模型,以及独立运行(本地或在 PaaS 中)的能力。
  • 在无服务器提供商上启用 Spring Boot 功能(自动配置、依赖注入、度量)。

Spring Cloud Sleuth

  • 使用 Brave 重写 #829,迁移指南 https://github.com/spring-cloud/spring-cloud-sleuth/wiki/Spring-Cloud-Sleuth-2.0-Migration-Guide
  • 移除 sleuth-stream #555zipkin-stream #727 依赖。通过消息传递的 Span 只能通过原生的 Zipkin 依赖发送到 Zipkin。
  • spring.zipkin.sender.type=kafka 需要明确设置,才能通过 Kafka 发送 Span #985, #1013
  • 添加 WebClient.Builder 支持 #779
  • 跟踪标签考虑参数化 URL #802
  • 添加对 NettyClient 检测的支持 - 允许对 Spring Cloud Gateway 进行检测 #806
  • 修复所有早期 bean 初始化问题 #870
  • 添加 spring-kafka 支持 #896
  • 添加 spring-rabbitmq 支持 #883
  • 添加对 Apache HttpClient 的支持 #685
  • 添加 OpenTracing 支持 #599
  • 添加对 AWS X-Ray 的支持 #459
  • TraceKeys 对用户隐藏并已弃用 #940
  • 添加对 Dubbo 的支持 #934

示例:https://github.com/spring-cloud-samples/sleuth-documentation-apps, https://github.com/openzipkin/sleuth-webmvc-example

Spring Cloud Config

  • 允许跳过 GitVault 后端的 SSL 验证
  • Git 后端现在有一个刷新率属性 #749
  • 添加对 Gitee webhooks 的支持 #898

Spring Cloud Netflix

  • 在 Edgware 中弃用的 Starter 已被移除
  • spring-cloud-netflix-hystrix-amqp 已被移除
  • ZuulFallbackProvider 已被移除,并替换为 FallbackProvider #2262
  • /hystrix.stream 现在使用 WebFlux #2629
  • Turbine 现在有一个 /clusters 端点,可用于发现配置的集群 #2223
  • Spring Cloud OpenFeign 已迁移到其自己的项目
  • Zuul 指标现在使用 Micrometer
  • Turbine Stream 支持已重写为使用 Spring Webflux。

Spring Cloud Task

请参阅发布博客文章

Spring Cloud Commons

  • 您现在可以在 WebClient 上使用 @LoadBalanced 注解
  • 重试功能已简化 #331

Spring Cloud Contract

  • 添加 RestAssured 和 RestDocs 的支持 #334
  • 移除 Camel 支持 #386
  • 通过 stubsModecontractsMode 引入存根获取的显式模式 #287
  • 使 @AutoConfigureStubRunner 成为测试 slice #473
  • 允许启动同一存根构件的多个版本 #474
  • 使集合断言方法更详细 #441
  • 添加 @StubRunnerPort 方便查找存根的机制 #573
  • 允许在测试执行后存储下载的构件 #512
  • 添加 HTTP 状态的辅助方法 #575
  • 更新了文档 #570 并添加了 3 秒和 3 分钟快速导览 #549
  • 将 WireMock 升级到 2.18.0 #659
  • 支持 Pact v3 #406 和 Pact Broker #191
  • 从 Git 仓库上传和获取存根的选项 #596

示例:https://github.com/spring-cloud-samples/spring-cloud-contract-samples/

Spring Cloud Stream

请参阅发布博客文章

Spring Cloud Vault

  • 升级到 Spring Vault 2.0 #203
  • ReactiveVaultOperations 的自动配置,在 WebClient 之上提供响应式 API #133
  • 添加响应式健康指示器 #221
  • AppRole 的 RoleId 和 SecretId 认证标识符的 Pull、Wrapped 和 Provided 模式 #174
  • 支持 Vault 的通用数据库后端 #169
  • 在支持的属性源中保留 JSON 数据类型 #189
  • 支持 Vault 的版本化 Key/Value 后端 #209
  • 将 Spring Cloud Vault Connectors 2.0.0.RELEASE 升级到 Spring Cloud Vault 2.0.0.RELEASE。

示例:https://github.com/mp911de/spring-cloud-vault-config-samples/

Spring Cloud Bus

Actuator 端点已更新为使用新的 Actuator 框架。

Spring Cloud Openfeign

  • 在 Feign 配置属性中支持 encoder, decoder 和 contract #2687

Spring Cloud Cloudfoundry

使用了新的响应式 Cloud Foundry Java Client。

Spring Cloud Consul

添加了对 HTTPS 实例和 ACL 的支持。`@Scheduled` 不再用于 Consul watch。

Spring Cloud Zookeeper

更新为使用 Curator 4.0.1。

Spring Cloud Aws

添加了对使用 AWS Parameter Store 的 PropertySourceLocator 的支持。添加了对 CloudWatch 指标的 Micrometer 支持。

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

模块 版本
Spring Cloud Consul 2.0.0.RELEASE
Spring Cloud Gateway 2.0.0.RELEASE
Spring Cloud Function 1.0.0.RELEASE
Spring Cloud Zookeeper 2.0.0.RELEASE
Spring Cloud Sleuth 2.0.0.RELEASE
Spring Cloud Aws 2.0.0.RELEASE
Spring Cloud Config 2.0.0.RELEASE
Spring Cloud Cloudfoundry 2.0.0.RELEASE
Spring Cloud Security 2.0.0.RELEASE
Spring Cloud Netflix 2.0.0.RELEASE
Spring Cloud Task 2.0.0.RELEASE
Spring Cloud Commons 2.0.0.RELEASE
Spring Cloud Contract 2.0.0.RELEASE
Spring Cloud Stream Elmhurst.RELEASE
Spring Cloud Vault 2.0.0.RELEASE
Spring Cloud Bus 2.0.0.RELEASE
Spring Cloud Openfeign 2.0.0.RELEASE

一如既往,我们欢迎通过 GitHubGitterStack OverflowTwitter 提供反馈。

使用 Maven 和 BOM(仅依赖管理)入门


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



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

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

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

订阅 Spring 新闻稿

订阅 Spring 新闻稿,保持联系

订阅

抢占先机

VMware 提供培训和认证,助您加速进步。

了解更多

获取支持

Tanzu Spring 提供对 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一项简单订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部