Spring Cloud Alibaba(一):各组件及主要功能, 与原生组件对应关系

Spring Cloud Alibaba 为分布式应用开发提供一站式解决方案。它包含开发分布式应用程序所需的所有组件,可以轻松地使用 Spring Cloud 开发应用程序。

依托 Spring Cloud Alibaba,只需添加一些注解和少量配置,就可将Spring Cloud 应用接入到 Alibaba 的分布式解决方案中,通过 Alibaba 中间件来快速搭建分布式应用系统。

Spring Cloud Alibaba 为基于 Spring Cloud 构建的分布式微服务架构提供了另一种选择,与 Spring Cloud 原生的一系列组件并不存在冲突,基本上是完全兼容。

Spring官方文档 > Spring Cloud AlibabaGithub > alibaba/spring-cloud-alibaba/wikiGitee > Spring-Cloud-Alibaba

Spring Cloud Alibaba

主要功能

核心功能包括:服务注册发现,服务熔断降级,配置管理,分布式事务,消息中间件(RocketMQ)。

  • 服务限流降级:通过 Sentinel 可实现流控,熔断和和系统自适应保护。

    默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。

  • 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,客户端可以使用 Spring 管理的 Beans 发现实现。

    默认集成了客户端负载均衡器 Ribbon 的支持。

  • 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新,使用 Nacos 作为数据存储。

  • 消息驱动能力:构建与 Spring Cloud Stream RocketMQ Binder 连接的高可伸缩的事件驱动微服务。

    基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。

    通过 Spring Cloud Bus RocketMQ连接分布式系统的各个节点。

  • 分布式事务:通过 Seata 支持高性能、易用的分布式事务解决方案。

    使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。

  • 阿里云对象存储:商业组件,阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。

  • 分布式任务调度:商业组件,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。

  • 阿里云短信服务:商业组件,覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

相关组件

开源的核心组件:Nacos,Sentinel,Seata,Dubbo,RocketMQ,其它的是商业组件,需要付费使用。

  • **Nacos**:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
  • **Sentinel**:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
  • **Seata**:一个易于使用的高性能微服务分布式事务解决方案。
  • **Dubbo**:Apache Dubbo™ 是一款高性能 Java RPC 框架。
  • **RocketMQ**:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
  • Alibaba Cloud OSS: 商业化组件,阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  • Alibaba Cloud SchedulerX: 商业化组件,阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
  • Alibaba Cloud SMS: 商业化组件,覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

组件对应

特性 Spring Cloud Spring Cloud Alibaba
注册中心 Eureka,Zookeeper,Consul Nacos
配置中心 Config Nacos
API网关 Gateway,Zuul Dubbo Proxy
服务熔断 Hystrix Sentinel
服务调用 Feign Dubbo RPC
负载均衡 Ribbon Dubbo LB
消息驱动 Stream,RabbitMQ,Kafka,ActiveMQ RocketMQ
链路跟踪 Sleuth,Zikpin
分布式事务 - Seata

相关参考

Spring Cloud Alibaba(一):各组件及主要功能, 与原生组件对应关系

http://blog.gxitsky.com/2021/03/25/SpringCloudAlibaba-01-compare/

作者

光星

发布于

2021-03-25

更新于

2022-06-17

许可协议

评论