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 Alibaba,Github > alibaba/spring-cloud-alibaba/wiki,Gitee > 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 支持高性能、易用的分布式事务解决方案。
使用
@GlobalTransactiona
l 注解, 高效并且对业务零侵入地解决分布式事务问题。阿里云对象存储:商业组件,阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
分布式任务调度:商业组件,提供秒级、精准、高可靠、高可用的定时(基于
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/