Spring Cloud Alibaba搭建分佈式應用系統

Spring Cloud Alibaba致力於提供分佈式應用服務開發的一站式解決方案。此項目包含開發分佈式應用服務的必需組件,方便開發者通過 Spring Cloud 編程模型輕鬆使用這些組件來開發分佈式應用服務。

依託 Spring Cloud Alibaba,您只需要添加一些註解和少量配置,就可以將 Spring Cloud 應用接入阿里分佈式應用解決方案,通過阿里中間件來迅速搭建分佈式應用系統。

主要功能

  • 服務限流降級:默認支持為 HTTP 服務的提供限流保護,也支持添加註解實現方法的自定義限流降級,且支持動態修改限流降級規則。
  • 服務註冊與發現:適配 Spring Cloud 服務註冊與發現標準,默認集成了Ribbon的支持。
  • 分佈式配置管理:支持分佈式系統中的外部化配置,配置更改時自動刷新。
  • 阿里雲對象存儲:阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。支持在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。

組件:

Sentinel:把流量作為切入點,從流量控制、熔斷降級、系統負載保護等多個維度保護服務的穩定性。

Nacos:一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。

AliCloud OSS: 阿里雲對象存儲服務(Object Storage Serice,簡稱 OSS),是阿里雲提供的海量、安全、低成本、高可靠的雲存儲服務。您可以在任何應用、任何時間、任何地點存儲和訪問任意類型的數據。

Spring Cloud 官方Twitter也發佈了此消息,以下翻譯自博客原文。

大家好,很高興地告訴大家,今天 Spring Cloud Alibaba 的第一個版本發佈了。

Spring Cloud Alibaba項目由兩部分組成:阿里巴巴開源組件和阿里雲產品組件,旨在為Jaa開發人員在使用阿里巴巴產品的同時,通過利用Spring框架的設計模式和抽象能力,注入Spring Boot和Spring Cloud的優勢。

Spring Cloud Alibaba 項目是由阿里巴巴維護的社區項目。

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

一、阿里巴巴開源組件

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

| 服務發現

實現了 Spring Cloud common 中定義的 registry 相關規範接口,引入依賴並添加一些簡單的配置即可將你的服務註冊到Nacos Serer中,並且支持與Ribbon的集成。

| 配置管理

實現了 PropertySoureLocator 接口,引入依賴並添加一些簡單的配置即可從 Nacos Serer 中獲取應用配置並設置在 Spring 的 Enironment 中,而且無需依賴其他組件即可支持配置的實時推送和推送狀態查詢。

| 高可用防護

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

二、阿里雲產品組件

阿里雲的產品組件的命名前綴為 spring-cloud-alicloud ,提供瞭如下特性:

| 應用發現服務

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

| 配置管理服務

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

| 對象存儲服務

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

三、如何使用

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

1. spring-cloud-stream-binder-rocket 模塊將基於 Spring Integration和Spring Cloud Stream,使得開發者在使用 Spring Cloud Stream 和 Spring Cloud Bus 時候可以選擇使用 RocketM 作為消息中間件。

2. Spring Cloud Alibaba將集成阿里雲分佈式任務調度SchedulerX 和阿里雲日誌服務,支持開發者使用SpringBoot 編程模型簡化其使用。

據 Spring Cloud Alibaba 高級開發工程師亦盞介紹,Spring Cloud本身是一套微服務規範,並不是一個拿來即可用的框架,而 Spring Cloud Alibaba的開源為開發者們提供了這套規範的實現方式。同時,Spring CloudAlibaba的組件,孵化自阿里巴巴內部自用的中間件產品,經歷過多次雙十一的考驗,具備高併發的抗壓能力。此外,其完整的中文文檔和本地化的開源服務將提高開發者們的接入速率,並降低後續的運維難度。


分享到:


相關文章: