天天看點

Spring Cloud Alibaba 簡介

概述

2018 年 10 月 31 日的淩晨,這個偉大的日子裡,Spring Cloud Alibaba 正式入駐了 Spring Cloud 官方孵化器,并在 Maven 中央庫釋出了第一個版本。

Spring Cloud for Alibaba 0.2.0 released

The Spring Cloud Alibaba project, consisting of Alibaba’s open-source components and several Alibaba Cloud products, aims to implement and expose well known Spring Framework patterns and abstractions to bring the benefits of Spring Boot and Spring Cloud to Java developers using Alibaba products.
Spring Cloud for Alibaba,它是由一些阿裡巴巴的開源元件和雲産品組成的。這個項目的目的是為了讓大家所熟知的 Spring 架構,其優秀的設計模式和抽象理念,以給使用阿裡巴巴産品的 Java 開發者帶來使用 Spring Boot 和 Spring Cloud 的更多便利。

Spring Cloud Alibaba 緻力于提供微服務開發的一站式解決方案。此項目包含開發分布式應用微服務的必需元件,友善開發者通過 Spring Cloud 程式設計模型輕松使用這些元件來開發分布式應用服務。

依托 Spring Cloud Alibaba,您隻需要添加一些注解和少量配置,就可以将 Spring Cloud 應用接入阿裡微服務解決方案,通過阿裡中間件來迅速搭建分布式應用系統。

Spring Cloud Alibaba GitHub

主要功能

服務限流降級: 預設支援 Servlet、Feign、RestTemplate、Dubbo 和 RocketMQ 限流降級功能的接入,可以在運作時通過控制台實時修改限流降級規則,還支援檢視限流降級 Metrics 監控。

服務注冊與發現: 适配 Spring Cloud 服務注冊與發現标準,預設內建了 Ribbon 的支援。

分布式配置管理: 支援分布式系統中的外部化配置,配置更改時自動重新整理。

消息驅動能力: 基于 Spring Cloud Stream 為微服務應用建構消息驅動能力。

阿裡雲對象存儲: 阿裡雲提供的海量、安全、低成本、高可靠的雲存儲服務。支援在任何應用、任何時間、任何地點存儲和通路任意類型的資料。

分布式任務排程: 提供秒級、精準、高可靠、高可用的定時(基于 Cron 表達式)任務排程服務。同時提供分布式的任務執行模型,如網格任務。網格任務支援海量子任務均勻配置設定到所有 Worker(schedulerx-client)上執行。

元件

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

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

RocketMQ: 一款開源的分布式消息系統,基于高可用分布式叢集技術,提供低延時的、高可靠的消息釋出與訂閱服務。

Dubbo: Apache Dubbo™ 是一款高性能 Java RPC 架構。

Seata: 阿裡巴巴開源産品,一個易于使用的高性能微服務分布式事務解決方案。

Alibaba Cloud ACM: 一款在分布式架構環境中對應用配置進行集中管理和推送的應用配置中心産品。

Alibaba Cloud OSS: 阿裡雲對象存儲服務(Object Storage Service,簡稱 OSS),是阿裡雲提供的海量、安全、低成本、高可靠的雲存儲服務。您可以在任何應用、任何時間、任何地點存儲和通路任意類型的資料。

Alibaba Cloud SchedulerX: 阿裡中間件團隊開發的一款分布式任務排程産品,提供秒級、精準、高可靠、高可用的定時(基于 Cron 表達式)任務排程服務。

Alibaba Cloud SMS:  覆寫全球的短信服務,友好、高效、智能的互聯化通訊能力,幫助企業迅速搭建客戶觸達通道。

更新包名和 Maven 坐标

接到阿裡官方通知在 2019 年 7 月 4 日修改相關包名和 Maven 坐标,請參考 Update package name &amp; maven coordinates ,由于視訊錄制于 2019 年 6 月 28 日,故所使用的包名和坐标依然沿用原先的 <code>org.springframework.cloud</code>,後面的視訊會改用最新的标準,看到這裡的小夥伴可以嘗試使用新坐标。

包名字首由 <code>org.springframework.cloud.alibaba</code> 變更為 <code>com.alibaba.cloud</code>

bom 由 <code>spring-cloud-alibaba-dependencies</code> 變更為 <code>alibaba-spring-cloud-dependencies</code>

maven groupid 由 <code>org.springframework.cloud</code> 變更為 <code>com.alibaba.cloud</code>

修改前

修改後

sentinel starter

spring-cloud-starter-alibaba-sentinel

alibaba-sentinel-spring-cloud-starter

nacos config starter

spring-cloud-starter-alibaba-nacos-config

alibaba-nacos-config-spring-cloud-starter

nacos discovery starter

spring-cloud-starter-alibaba-nacos-discovery

alibaba-nacos-discovery-spring-cloud-starter

seata starter

spring-cloud-starter-alibaba-seata

alibaba-seata-spring-cloud-starter

dubbo starter

spring-cloud-starter-dubbo

dubbo-spring-cloud-starter

rocketmq binder starter

spring-cloud-starter-stream-rocketmq

rocketmq-stream-spring-cloud-starter

rocketmq bus module name

spring-cloud-starter-bus-rocketmq

rocketmq-bus-spring-cloud-starter

sentinel module name

spring-cloud-alibaba-sentinel

alibaba-sentinel-spring-cloud

sentinel datasource module name

spring-cloud-alibaba-sentinel-datasource

alibaba-sentinel-datasource-spring-cloud

sentinel gateway module name

spring-cloud-alibaba-sentinel-gateway

alibaba-sentinel-gateway-spring-cloud

nacos config module name

spring-cloud-alibaba-nacos-config

alibaba-nacos-config-spring-cloud

nacos discovery module name

spring-cloud-alibaba-nacos-discovery

alibaba-nacos-discovery-spring-cloud

dubbo module name

spring-cloud-alibaba-dubbo

alibaba-dubbo-spring-cloud

seata module name

spring-cloud-alibaba-seata

alibaba-seata-spring-cloud

rocketmq binder module name

spring-cloud-stream-binder-rocketmq

rocketmq-spring-cloud-stream-binder

oss starter

spring-cloud-alicloud-oss

alicloud-oss-spring-cloud

sms starter

spring-cloud-alicloud-sms

alicloud-sms-spring-cloud

schedulerx starter

spring-cloud-alicloud-schedulerx

alicloud-schedulerx-spring-cloud

ans starter

spring-cloud-alicloud-ans

alicloud-ans-spring-cloud

acm starter

spring-cloud-alicloud-acm

alicloud-acm-spring-cloud

oss module name

sms module name

schedulerx module name

ans module name

acm module name

繼續閱讀