領先一步
VMware 提供培訓和認證,以加速您的進度。
了解更多謹代表社群,我很高興地宣布 Spring Cloud Dalston Release Train 的 Milestone 1 (M1) 今天正式發布。 該版本可以在我們的 Spring Milestone 儲存庫中找到。 您可以查看 Dalston 版本說明以取得更多資訊。
Spring Cloud Vault Config 是一個新專案,透過 Hashicorp Vault 為分散式系統中的外部化密鑰管理提供客戶端支援。
Hashicorp Vault 先前已新增為 Config Server 的後端,與基於 VCS 的後端一起使用。Config Server 現在透過複合模式支援多個後端。 這樣可以組合以前不可能的後端類型,例如:Vault 和 git 或多個 git 後端。 現在支援對 AWS Codecommit 託管的 git 儲存庫進行驗證。
自這些 Spring Cloud Core 模組(Commons、Config、Netflix、Bus)開始以來,DiscoveryClient
的實現會自動將運行的客戶端註冊到探索伺服器。 這是最初 Netflix Eureka 實現的副作用。 現在,服務註冊和註冊服務的探索是不同的問題。 現在有一個 ServiceRegistry
介面,Spring Cloud Netflix、Consul 和 Zookeeper 都實現了該介面。 預設情況下,客戶端仍然會自動註冊,但可以透過 @EnableDiscoveryClient
的 autoRegister
屬性或透過屬性動態禁用此功能。 這也允許每個 JVM 註冊多個服務(透過程式碼)。 敬請關注未來的部落格文章以取得更多詳細資訊。
社群貢獻了對 @LoadBalanced
AsyncRestTemplate
的支援。
Sleuth 已新增對通用上下文傳播系統的支援。 它稱為 baggage,允許使用 Sleuth 內建的檢測,透過 HTTP 或訊息傳遞等邊界傳遞任意屬性。
Contract 經過增強,可以支援 Contract 輸入和輸出的更大彈性。 新增了 Pact 支援以讀取 Contract(而不是 Groovy DSL)。 Contract 更具可插拔性,允許自訂 DSL 格式、測試和 Stub 生成以及 Stub Runner 實作。
除了支援新的 ServiceRegistry
API 之外,Spring Cloud Consul 還支援 Consul 功能,以取消註冊 zombie 服務(即在可設定的時間內健康檢查失敗的服務將從 Consul 中刪除)。
Dalston 基於 Spring Boot 1.5.x,這是最低的必要版本。 其他變更包括升級到各種程式庫、錯誤修復、文件編寫和改進。 非常感謝社群對 pull request 和 issue 的所有貢獻。
以下模組已更新作為 Dalston.M1 的一部分
模組 | 版本 |
---|---|
Spring Cloud AWS | 1.2.0.M1 |
Spring Cloud Build | 1.3.1.M1 |
Spring Cloud Bus | 1.3.0.M1 |
Spring Cloud Cloudfoundry | 1.1.0.M1 |
Spring Cloud Commons | 1.2.0.M1 |
Spring Cloud Config | 1.3.0.M2 |
Spring Cloud Consul | 1.2.0.M1 |
Spring Cloud Contract | 1.1.0.M1 |
Spring Cloud Netflix | 1.3.0.M1 |
Spring Cloud Security | 1.2.0.M1 |
Spring Cloud Sleuth | 1.2.0.M1 |
Spring Cloud Stream | Chelsea.M1 |
Spring Cloud Task | 1.1.2.RELEASE |
Spring Cloud Vault Config | 1.0.0.M2 |
Spring Cloud Zookeeper | 1.1.0.M1 |
注意:Spring Cloud CLI 1.2.0.M1 將在稍後發布。
而且,與往常一樣,我們歡迎大家的回饋:無論是在 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.M1</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.M1'
}
}
dependencies {
compile 'org.springframework.cloud:spring-cloud-starter-config'
compile 'org.springframework.cloud:spring-cloud-starter-eureka'
...
}