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 仪器化(instrumentation)的支持 - 允许对 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 Webhook 的支持 #898

Spring Cloud Netflix

  • Edgware 中已弃用的启动器已被移除
  • 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 设为测试片段 #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 身份验证标识符的拉取、封装和提供模式 #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 配置属性中支持编码器、解码器和契约 #2687

Spring Cloud Cloudfoundry

使用了新的响应式 Cloud Foundry Java 客户端。

Spring Cloud Consul

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

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 社区所有即将举行的活动。

查看所有