今天來看看阿里巴巴的新一代微服務(wù)解決方案 Spring Cloud Alibaba

在進(jìn)入今天的正題之前,先來了解一下什么是Spring Cloud。
Spring Cloud 微服務(wù)全家桶,是若干個框架的集合,包括
spring-cloud-config、spring-cloud-bus 等近 20
個子項目,提供了服務(wù)治理、服務(wù)網(wǎng)關(guān)、智能路由、負(fù)載均衡、斷路器、監(jiān)控跟蹤、分布式消息隊列、配置管理等領(lǐng)域的解決方案。
Spring Cloud 通過 Spring Boot 風(fēng)格的封裝,屏蔽掉了復(fù)雜的配置和實現(xiàn)原理,最終給開發(fā)者留出了一套簡單易懂、容易部署的分布式系統(tǒng)開發(fā)工具包。

了解了 Spring Cloud,我們來看看 Spring Cloud Alibaba 是什么?
01
Spring Cloud Alibaba是什么?
和 Spring Cloud 一樣,Spring Cloud Alibaba 也是一套微服務(wù)解決方案,它是由一系列阿里巴巴的開源組件和云產(chǎn)品組成的。這個項目是為了讓大家熟知 Spring 框架,其優(yōu)秀的設(shè)計模式和抽象理念,給使用阿里巴巴產(chǎn)品的 Java 開發(fā)者帶來使用 Spring Boot 和 Spring Cloud 的更多便利。
Spring Cloud Alibaba 致力于提供微服務(wù)開發(fā)的一站式解決方案。該項目包含開發(fā)分布式應(yīng)用微服務(wù)的必需組件,方便開發(fā)者通過 Spring Cloud 編程模型輕松使用這些組件來開發(fā)分布式應(yīng)用服務(wù)。
依托 Spring Cloud Alibaba,開發(fā)者只需要添加一些注解和少量配置,就可以將 Spring Cloud 應(yīng)用接入阿里微服務(wù)解決方案,通過阿里中間件來迅速搭建分布式應(yīng)用系統(tǒng)。
02
Spring Cloud Alibaba包含哪些組件?
Spring Cloud Alibaba 包含了阿里開源組件、阿里云商業(yè)化組件以及集成Spring Cloud 組件。

Sentinel 組件是面向分布式服務(wù)架構(gòu)的輕量級流量控制產(chǎn)品,主要以流量為切入點(diǎn),從流量控制、熔斷降級、系統(tǒng)負(fù)載保護(hù)等多個維度來保護(hù)服務(wù)的穩(wěn)定性。
Nacos 是阿里巴巴推出來的一個新開源項目,這是一個更易于構(gòu)建云原生應(yīng)用的動態(tài)服務(wù)發(fā)現(xiàn)、配置管理和服務(wù)管理平臺。
RocketMQ 是分布式消息系統(tǒng),基于高可用分布式集群技術(shù),提供低延時的、高可靠的消息發(fā)布與訂閱服務(wù)。
Alibaba Cloud ACM 是一款在分布式架構(gòu)環(huán)境中對應(yīng)用配置進(jìn)行集中管理和推送的應(yīng)用配置中心產(chǎn)品。
Alibaba Cloud OSS 是阿里云對象存儲服務(wù)(Object Storage Service,簡稱 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存儲服務(wù)。您可以在任何應(yīng)用、任何時間、任何地點(diǎn)存儲和訪問任意類型的數(shù)據(jù)。
Alibaba Cloud SchedulerX 是阿里中間件團(tuán)隊開發(fā)的一款分布式任務(wù)調(diào)度產(chǎn)品,提供秒級、精準(zhǔn)、高可靠、高可用的定時(基于 Cron 表達(dá)式)任務(wù)調(diào)度服務(wù)。
03
Spring Cloud Alibaba提供哪些功能?
1.服務(wù)限流降級
作為穩(wěn)定性的核心要素之一,服務(wù)限流和降級是微服務(wù)領(lǐng)域特別重要的一環(huán),Spring Cloud Alibaba 基于 Sentinel,對 Spring 體系內(nèi)基本所有的客戶端,網(wǎng)關(guān)進(jìn)行了適配,默認(rèn)支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降級功能的接入。Sentinel應(yīng)用比較簡單,只需引入 starter,即可生效,可以在運(yùn)行時通過控制臺實時修改限流降級規(guī)則,還支持查看限流降級 Metrics 監(jiān)控。
2.服務(wù)注冊與發(fā)現(xiàn)
適配 SpringCloud 服務(wù)注冊與發(fā)現(xiàn)標(biāo)準(zhǔn),默認(rèn)集成了 Ribbon的支持。
3.微服務(wù)消息驅(qū)動
支持為微服務(wù)應(yīng)用構(gòu)建消息驅(qū)動能力,基于 Spring Cloud Stream 提供 Binder 的新實現(xiàn): Spring Cloud Stream RocketMQ Binder,也新增了 Spring Cloud Bus 消息總線的新實現(xiàn) Spring Cloud Bus RocketMQ。
4.阿里云對象存儲
阿里云提供的海量、安全、低成本、高可靠的云存儲服務(wù)。支持在任何應(yīng)用、任何時間、任何地點(diǎn)存儲和訪問任意類型的數(shù)據(jù)。
5.分布式任務(wù)調(diào)度
提供秒級、精準(zhǔn)、高可靠、高可用的定時(基于 Cron 表達(dá)式)任務(wù)調(diào)度服務(wù)。同時提供分布式的任務(wù)執(zhí)行模型,如網(wǎng)格任務(wù)。網(wǎng)格任務(wù)支持海量子任務(wù)均勻分配到所有 Worker(schedulerx-client)上執(zhí)行。
最后貼上GitHub項目地址,里面包含了使用教程和每個組件的詳細(xì)介紹。
https://spring.io/projects/spring-cloud-alibaba
關(guān)注GitHub今日熱榜,專注挖掘好用的開發(fā)工具,致力于分享優(yōu)質(zhì)高效的工具、資源、插件等,助力開發(fā)者成長!
點(diǎn)個在看 你最好看

