领先一步
VMware 提供培训和认证,以加快您的进度。
了解更多我代表社区高兴地宣布,Spring Cloud Dalston 发布列车的候选版本 1 (RC1) 现已推出。可以在我们的 Spring Milestone 仓库中找到该版本。您可以查看 Dalston 的 发行说明以了解更多信息。
Spring Cloud Vault Config 是一个新项目,它通过 Hashicorp Vault 为分布式系统中的外部化密钥管理提供客户端支持。
配置服务器现在通过组合模式支持多个后端。这允许以前不可能实现的后端类型组合,例如:Vault 和 git 或多个 git 后端。现在支持对 AWS Codecommit 托管的 git 仓库进行身份验证。在之前的 (Camden) 版本中,Hashicorp Vault 已经作为后端添加到配置服务器中,以配合基于 VCS 的后端。
从核心 Spring Cloud 模块(Commons、Config、Netflix、Bus)开始,DiscoveryClient
的实现会自动将正在运行的客户端注册到发现服务器。这是最初 Netflix Eureka 实现的副作用。现在,服务注册和已注册服务的发现是独立的问题。现在有一个 ServiceRegistry
接口,Spring Cloud Netflix、Consul 和 Zookeeper 都实现了该接口。默认情况下,客户端仍然会自动注册,但这可以通过 @EnableDiscoveryClient
的 autoRegister
属性或通过属性动态禁用。这也允许以编程方式注册每个 JVM 中的多个服务。查找未来的博客文章以了解更多详细信息。
社区贡献了对 @LoadBalanced
AsyncRestTemplate
的支持。
Sleuth 已添加对通用上下文传播系统的支持。它被称为“行李”,并允许使用 Sleuth 已构建的工具通过边界(例如 HTTP 或消息传递)传递任意属性。
另一个功能是基于注解的 Span 创建以及日志和标签的添加。这不仅减少了样板代码,而且在使用运行时生成实现的框架(例如 Spring Data)时也很有用。
契约已增强以支持契约输入和输出的更大灵活性。添加了 Pact 支持以读取契约,而不是 Groovy DSL。契约变得更加可插入,允许自定义 DSL 格式、测试和存根生成以及存根运行器实现。
除了对新的 ServiceRegistry
API 的支持之外,Spring Cloud Consul 还支持 Consul 功能来注销僵尸服务(即,在可配置的时间量内健康检查失败的服务将从 Consul 中删除)。
Dalston 基于 Spring Boot 1.5.x,这是最低要求的版本。其他更改包括升级各种库、修复错误、编写文档和改进。非常感谢社区对拉取请求和问题的贡献。
以下是作为 Dalston.RC1 更新的模块:
模块 | 版本 |
---|---|
Spring Cloud AWS | 1.2.0.RC1 |
Spring Cloud Build | 1.3.1.RELEASE |
Spring Cloud Bus | 1.3.0.M1 |
Spring Cloud Cloudfoundry | 1.1.0.M1 |
Spring Cloud Commons | 1.2.0.RC1 |
Spring Cloud Config | 1.3.0.RC1 |
Spring Cloud Consul | 1.2.0.RC1 |
Spring Cloud Contract | 1.1.0.RC1 |
Spring Cloud Netflix | 1.3.0.RC1 |
Spring Cloud Security | 1.2.0.RC1 |
Spring Cloud Sleuth | 1.2.0.RC1 |
Spring Cloud Stream | Chelsea.RC1 |
Spring Cloud Task | 1.1.1.RELEASE |
Spring Cloud Vault Config | 1.0.0.RC1 |
Spring Cloud Zookeeper | 1.1.0.RC1 |
Spring Cloud Thin Launcher | 1.1.0.RC1 |
Spring Cloud CLI | 1.3.0.RC1 |
并且,像往常一样,我们欢迎反馈:在 GitHub、Gitter、Stack Overflow 或 Twitter 上。
使用 Maven 和 BOM(仅依赖管理)开始使用:
<repositories>
<repository>
<id>spring-milestones</id>
<name>Spring Milestones</name>
<url>http://repo.spring.io/milestone</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<dependencyManagement>
<dependencies>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.RC1</version>
<type>pom</type>
<scope>import</scope>
</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-eureka</artifactId>
</dependency>
...
</dependencies>
或使用 Gradle:
buildscript {
dependencies {
classpath "io.spring.gradle:dependency-management-plugin:1.0.0.RELEASE"
}
}
repositories {
maven {
url 'http://repo.spring.io/milestone'
}
}
apply plugin: "io.spring.dependency-management"
dependencyManagement {
imports {
mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Dalston.RC1'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-eureka'
...
}