1. 程式人生 > >Spring Cloud Alibaba相關總結

Spring Cloud Alibaba相關總結

Spring Cloud Alibaba

一、 Spring Cloud Alibaba專案組成

阿里巴巴開源元件和阿里雲產品元件,旨在為Java開發人員在使用阿里巴巴產品的同時,通過利用 Spring 框架的設計模式和抽象能力,注入Spring Boot和Spring Cloud的優勢。

注意:

 版本 0.2.0.RELEASE 對應的是 Spring Boot 2.x 版本,版本 0.1.0.RELEASE 對應的是 Spring Boot 1.x 版本.

(1)阿里巴巴開源元件

其中阿里巴巴開源元件的命名字首為spring-cloud-alibaba,提供瞭如下特性:

1、服務發現

實現了 Spring Cloud common 中定義的 registry 相關規範介面,引入依賴並新增一些簡單的配置即可將你的服務註冊到Nacos Server中,並且支援與Ribbon的整合。

2、配置管理

實現了 PropertySoureLocator 介面,引入依賴並新增一些簡單的配置即可從 Nacos Server 中獲取應用配置並設定在 Spring 的 Environment 中,而且無需依賴其他元件即可支援配置的實時推送和推送狀態查詢。

3、高可用防護

預設集成了 Servlet、RestTemplate、Dubbo、RocketMQ 的限流(Flow Control)降級(Circuit Breaking and Concurrency),只需要引入依賴即可完成限流降級的整合動作,並支援在應用執行狀態下通過 Sentinel 控制檯來實時修改限流降級的策略和閾值。

(2)阿里雲產品元件

阿里雲的產品元件的命名字首為 spring-cloud-alicloud ,提供瞭如下特性:

1、應用發現服務

阿里雲應用發現服務ANS,除了應用發現的基本功能外,提供了更低成本的 SaaS 化應用發現服務,同時在介面的呼叫中加入了加密邏輯,更好地保護你的服務。

2、配置管理服務

阿里雲配置管理服務ACM,加強了安全的配置管理,並且還包含了完整的推送軌跡查詢。

3、物件儲存服務

阿里云云儲存服務OSS,支援在任何應用、任何時間、任何地點儲存和訪問任意型別的資料, 只需要自動注入一個 OSS Client,即可直接使用儲存與下載功能。

三、如何使用

這些元件在 Spring release 倉庫中,可以通過如下 BOM 來使用:

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

四、後續規劃

1. spring-cloud-stream-binder-rocket 模組將基於 Spring Integration和Spring Cloud Stream,使得開發者在使用 Spring Cloud Stream 和 Spring Cloud Bus 時候可以選擇使用 RocketMQ 作為訊息中介軟體。
2. Spring Cloud Alibaba將整合阿里雲分散式任務排程SchedulerX 和阿里雲日誌服務,支援開發者使用 Spring Boot 程式設計模型簡化其使用。
3.據 Spring Cloud Alibaba 高階開發工程師亦盞介紹,Spring Cloud本身是一套微服務規範,並不是一個拿來即可用的框架,而 Spring Cloud Alibaba的開源為開發者們提供了這套規範的實現方式。同時,Spring Cloud Alibaba的元件,孵化自阿里巴巴內部自用的中介軟體產品,經歷過多次雙十一的考驗,具備高併發的抗壓能力。此外,其完整的中文文件和本地化的開源服務將提高開發者們的接入速率,並降低後續的運維難度。

五、相關連結

Spring Cloud Alibaba 的詳細介紹:https://www.oschina.net/p/spring-cloud-alibaba
Spring Cloud Alibaba 的下載地址:https://github.com/spring-cloud-incubator/spring-cloud-alibaba/releases

                                                                                                                                                 @若有侵權,聯絡刪除。