Spring Cloud Greenwich.RELEASE 現已推出

發布 | Ryan Baxter | 2019 年 1 月 23 日 | ...

謹代表社群,我很高興地宣布 Spring Cloud Greenwich Release Train 的正式版本 (RELEASE) 今天已推出。 此版本可在 Maven Central 中找到。 您可以查看 Greenwich 的發布說明以取得更多資訊

終止支援 (EOL) 提醒

Edgware release train 將於 2019 年 8 月 1 日達到 EOL 狀態。 您可以在此處閱讀正式公告。

Spring Cloud Finchley release train 被視為主要版本,並與 Spring Boot 2.0.x 版本相關聯。 因此,當 Spring Boot 2.0.x 版本分支被標記為 EOL 時,Spring Cloud Finchley release train 將達到 EOL 狀態。 一旦確定日期,將在此部落格上發布相關公告。

Spring Cloud Greenwich release train 被視為次要版本,將繼續支援 Spring Boot 2.x 版本分支。

Greenwich Release Train 中的重大變更

所有專案都進行了更新,以支援 Java 11。

新專案

Greenwich Release train 中包含兩個新專案:Spring Cloud GCP (提供與 Google Cloud Platform 的整合) 以及 Spring Cloud Kubernetes (提供與 Kubernetes 的整合)。

Spring Cloud Netflix 專案進入維護模式

最近,Netflix 宣布 Hystrix 進入維護模式。 Ribbon 自 2016 年以來一直處於 類似狀態。 儘管 Hystrix 和 Ribbon 現在處於維護模式,但它們仍在 Netflix 大規模部署。

Hystrix Dashboard 和 Turbine 已被 Atlas 取代。 這些專案的最後一次提交分別是兩年和四年前。 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 或 concurrency-limits 模組。

什麼是維護模式?

將模組置於維護模式表示 Spring Cloud 團隊將不再向該模組添加新功能。 我們將修復阻礙錯誤和安全性問題,並且我們也將考慮和審查來自社群的小型提取請求。

我們計劃從Greenwich release train正式發布起,**至少**一年內繼續支援這些模組。

替代方案

我們建議以下替代方案來取代這些模組提供的功能。

目前 替代方案
Hystrix Resilience4j
Hystrix Dashboard / Turbine Micrometer + 監控系統
Ribbon Spring Cloud Loadbalancer
Zuul 1 Spring Cloud Gateway
Archaius 1 Spring Boot 外部配置 + Spring Cloud Config

請關注未來關於 Spring Cloud Loadbalancer 以及與新的 Netflix 專案 Concurrency Limits 整合的部落格文章。

Spring Cloud Sleuth

  • 更新至最新的 Brave 程式庫。
  • WebFlux 和 Reactor 整合的效能改進。
  • 新增 GRPC 檢測。
  • 新增對多個 span 報告程式的支援。
  • 新增速率限制取樣器支援。

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 Functions 的新程式設計模型
  • 在 Web 介面卡中自動 (可選) 匯出啟動時的 Supplier
  • Functional Bean 註冊
  • . . . 以及更多

Spring Cloud Stream

請參閱 Spring Cloud Stream 發布公告

Spring Cloud Zookeeper

  • 新增了對新 ServiceInstance.instanceId 欄位的支援。

Spring Cloud Task

請參閱 Spring Cloud Task 的發布公告

Spring Cloud Kubernetes

  • 您現在可以設定 ServiceInstance metadata 以從 Kubernetes 標籤、註釋和端口獲取。
  • 增強功能用於在啟動過程中使用 KubernetesDiscoveryClient
  • 新增一個模組來檢測 Istio 的存在。

Spring Cloud Contract

  • 新增了對 XML 負載的支持 issue
  • 允許將合約轉儲到通用表示形式中 issue
  • 新增了 WebTestClient 支援,用於使用 WebFlux 測試合約 issue
  • 改進了 Pact 整合 issue
  • 恢復了 Camel 支援 issue
  • 新增了 JUnit5 支援 issue
  • 將 WireMock 更新到最新版本 issue
  • 新增了對二進位負載的支持 issue
  • 新增了對 Git 儲存中最新版本的支持 issue
  • 允許為正則表達式生成提供顯式類型 issue

Spring Cloud Security

  • 新增 Spring Cloud Gateway Filter 以支援 OAuth2。 一個展示其用法的示例應用程式可在此處取得here

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

  • 新增 instanceIdServiceInstance 介面。
  • 新增了 ReactiveLoadBalancer 介面,並使用 Reactor 實作。

以下模組已更新,作為 Greenwich.RELEASE 的一部分

| 模組 | 版本 | 問題 |--- |--- |--- |--- | Spring Cloud Sleuth | 2.1.0.RELEASE | (問題) | Spring Cloud Gcp | 1.1.0.RELEASE | (問題) | Spring Cloud Build | 2.1.2.RELEASE |   | Spring Cloud Netflix | 2.1.0.RELEASE | (問題) | Spring Cloud Consul | 2.1.0.RELEASE |   | Spring Cloud Gateway | 2.1.0.RELEASE | (問題) | Spring Cloud | Greenwich.RELEASE |   | Spring Cloud Function | 2.0.0.RELEASE | (問題) | Spring Cloud Stream | Fishtown.RELEASE |   | Spring Cloud Zookeeper | 2.1.0.RELEASE |   | Spring Cloud Cloudfoundry | 2.1.0.RELEASE |   | Spring Cloud Aws | 2.1.0.RELEASE |   | Spring Cloud Task | 2.1.0.RELEASE |   | Spring Cloud Kubernetes | 1.0.0.RELEASE | (問題) | Spring Cloud Contract | 2.1.0.RELEASE | (問題) | Spring Cloud Release | Greenwich.RELEASE |   | Spring Cloud Security | 2.1.0.RELEASE |   | Spring Cloud Starter | Greenwich.RELEASE |   | Spring Cloud Bus | 2.1.0.RELEASE | (問題) | Spring Cloud Config | 2.1.0.RELEASE | (問題) | Spring Cloud Vault | 2.1.0.RELEASE | (問題) | Spring Cloud Openfeign | 2.1.0.RELEASE | (問題) | Spring Cloud Commons | 2.1.0.RELEASE |   | Spring Cloud Dependencies | 2.1.2.RELEASE |  

與往常一樣,我們歡迎在 GitHubGitterStack OverflowTwitter 上提供反饋。

開始使用 Maven 和 BOM(僅依賴管理)


<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'
    ...
}

取得 Spring 電子報

隨時掌握 Spring 電子報的最新消息

訂閱

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供對 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部