Spring Cloud Alibaba 的預覽版本現已推出:0.9.0、0.2.2 和 0.1.2

發佈 | Spencer Gibb | 2019 年 4 月 19 日 | ...

注意:這是我們阿里巴巴朋友們的客座文章。

大家好!今天,我們非常興奮地宣布 Spring Cloud Alibaba 的 0.9.0、0.2.2 和 0.1.2 版本現已推出。

發佈重點

此 GA 版本包含 3 個新版本

  • 0.9.0 版本:與 Spring Cloud Greenwich 相容
  • 0.2.2 版本:與 Spring Cloud Finchley 相容
  • 0.1.2 版本:與 Spring Cloud Edgware 相容

所有三個版本都新增了四個模組

  • spring-cloud-alibaba-sentinel-zuul
  • spring-cloud-alibaba-seata
  • spring-cloud-alibaba-dubbo(在 0.1.2 版本中不可用)
  • spring-cloud-alibaba-sms

此外,我們在 spring-cloud-alibaba-nacos 和 spring-cloud-alibaba-sentinel 中引入了新功能,並且 rocketmq-binder 現在已與 rocketmq-spring 整合。

最後,我們修正了先前版本中發現的一些錯誤。

注意:Spring Cloud Alibaba 專案是由阿里巴巴維護的社群專案。

Spring Cloud Alibaba Seata

Seata 是一個分散式事務元件,由阿里巴巴集團和螞蟻金服共同開源。 Seata 能夠與目前大多數支援 ACID 事務的關聯式資料庫整合,以高效且非侵入式的方式解決微服務場景中的分散式事務問題。

在 Spring Cloud 層面,Seata 透過在微服務中傳遞事務上下文來存取 Spring Cloud 層

  • 支援在 Spring MVC 環境中自動還原 Seata 事務上下文
  • 支援在服務呼叫者透過 RestTemplate 或 FeignClient 呼叫服務時自動傳遞 Seata 事務上下文
  • 支援在速率限制和服務降級場景中將 FeingClient 與 Hystrix 或 Sentinel 一起使用

Spring Cloud Alibaba Dubbo

Apache Dubbo™ (孵化中) 是一個高效能、基於 Java 的開源 RPC 框架。

Spring Cloud Alibaba 與其整合

  • 基於 Dubbo Spring Boot 2.7.1(最低 JDK 需求:Java 8)
  • 支援所有 Spring Cloud 註冊表實作,用於 Dubbo 服務註冊(包括 Alibaba Nacos),並引入新的 Dubbo 註冊表協定:「spring-cloud://127.0.0.1
  • 擴展了 Spring Cloud 服務間呼叫的通訊協定,意味著 REST 不再是唯一的方式,並且可以選擇 Dubbo 支援的更多通訊協定,從而提供更好的效能 - 例如 dubbo、thrift 等。 開發人員有三種程式設計模型
    • 標準 Apache Dubbo:在 Java 介面上使用 @Reference @Service 註解
    • Spring Cloud Open Feign:在 @FeignClient Java 介面上使用 @DubboTransported 註解
    • Spring Cloud RestTemplate:在 RestTemplate@Bean 定義上使用 @DubboTransported 註解,並使用 @LoadBalanced 註解
  • 透過使用 Dubbo 內建的負載平衡器來替代 Netflix Ribbon,該負載平衡器提供加權機制,使事情更加順暢和穩定。

Spring Cloud Alibaba Nacos

Nacos 是一個動態服務發現、配置管理和服務管理平台,可以更輕鬆地建構雲端原生應用程式。

Spring Cloud Alibaba Nacos Config

我們更新了 Nacos Config 如下

  • 將 Nacos Client 版本升級至 1.0.0
  • 支援 spring.cloud.nacos.config.enabled 配置以關閉 Nacos Config 自動注入
  • spring.cloud.nacos.config.enabled 替換為 spring.profiles.active

Spring Cloud Alibaba Nacos Discovery

我們更新了 Nacos 服務註冊如下

  • 將 Nacos Client 版本升級至 1.0.0。
  • 支援命名空間以隔離資料。
  • 提供 NacosWatch 以觸發 HeartbeatEvent
  • 使 @EnableDiscoveryClient 成為註冊服務的可選項目。

Spring Cloud Alibaba Sentinel

Sentinel 是由阿里巴巴中間件團隊開發的開源專案,旨在解決流量控制問題並確保分散式架構中的高可用性。 Sentinel 以「流量」作為突破口,並透過流量控制、熔斷和系統負載保護來幫助您確保服務可靠性。

此版本中的更新包括

  • 將 Sentinel 版本升級至 1.5.2
  • 為 sentinel dataSource 新增 ruleType 屬性,以修正當 dataSource 首次載入空資料時規則資料不會動態載入的錯誤
  • 修正 @SentinelRestTemplate 在某些情況下不起作用的錯誤
  • SentinelProperties 中新增 JSR 303 驗證,並新增兩個配置項目:Client IP 以及是否初始化 CommonFilter
  • 支援自動注入 RequestOriginParser
  • @SentinelRestTemplate 對應的 SentinelProtectInterceptor 的優先順序變為最高
  • SentinelEndpoint 現在顯示更多資訊,例如應用程式名稱、日誌目錄、日誌名稱策略、儀表板位址、指標檔案大小、客戶端 IP 等
  • 支援 @EnableCircuitBreaker
  • 最佳化 RestTemplateFeign 中的流量控制和熔斷處理邏輯

Spring Cloud Alibaba RocketMQ Binder

RocketMQ 是一個基於高可用叢集技術的開源分散式訊息系統。 它提供低延遲和高可用的訊息發布和訂閱服務。

此版本中的更新包括

  • 與 RocketMQ Spring 整合並重構
  • 僅透過配置 Alibaba Cloud AK/SK 即可支援與 Aliware MQ 連接
  • 最佳化了訊息傳送和消費錯誤情況下的處理邏輯
  • 支援非同步傳送訊息,預設情況下,以非同步方式傳送訊息

Spring Cloud Alibaba Sentinel Zuul

Zuul 是 Netflix 的網路閘道產品。 我們現在已將其整合到 Sentinel 中。

此版本中的更新包括

  • Sentinel 現在已與 Zuul 整合,並提供 SentinelPreFilterSentinelPostFilterSentinelErrorFilter 用於請求攔截
  • 提供 spring.cloud.sentinel.zuul. 的配置前綴來配置 Sentinel Filter

Spring Cloud Alibaba Cloud SMS

SMS 是由阿里巴巴雲提供的訊息服務。

Spring Cloud Alibaba Cloud SMS 提供以下功能

  • 支援單一和批次簡訊發送
  • 支援根據手機號碼、日期和訊息類型查詢簡訊
  • 支援透過訂閱下行訊息來查詢簡訊發送狀態
  • 支援透過訂閱上行訊息來查詢終端使用者回覆的內容

Spring Cloud Alibaba Cloud SchedulerX

SchedulerX 是阿里巴巴雲提供的任務排程中介軟體工具。

在此版本中,我們修復了循環參考錯誤。

如何使用

這些構件可透過使用 BOM 從 Maven Central 和 Spring Release repository 取得,如下所示

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>0.9.0.RELEASE</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

下一步是什麼

Sentinel 目前支援反應式,並將適應 WebFlux 和 Spring Cloud Gateway。

RocketMQ Binder 改編為 MessageSource 以進行訊息提取。

獲取 Spring 電子報

與 Spring 電子報保持聯繫

訂閱

領先一步

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

了解更多

獲得支持

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

了解更多

即將到來的活動

查看 Spring 社群中所有即將到來的活動。

查看全部