背景
由于在2018年Netflix公司宣布对其核心组件Hystrix、Ribbon、zuul、Eureka等进入维护状态,也就是Spring Cloud Netflix系列。由此Spring Cloud Alibaba就诞生了,值得注意的是Spring Cloud Alibaba完全兼容了Spring Cloud Netflix中的Ribbon、Feign、Eureka等组件,所以基于Spring Cloud Netflix的项目可以无缝迁移到Spring Cloud Alibaba。
介绍
Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
主要功能
- 服务限流降级:默认支持 WebServlet、WebFlux、OpenFeign、RestTemplate、Spring Cloud Gateway、Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
- 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
- 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
- 消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
- 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。
主要组件
除了对标Netflix的Hystrix、Ribbon、Eureka等,Alibaba还提供了非常重要的分布式事务组件Seata。
- Nacos:服务注册与发现、分布式配置于一体的管理平台。
- Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。相比Hystrix,不仅提供可视化监控,其流量控制、熔断降级等功能也是相当丰富完善。
- Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
- 其他商业组件
各组件应用如下图
参考文档
Spring Cloud Alibaba出自于阿里,其各个组件的中文文档相当完善,从搭建到使用以及原理非常详细,就不在这搬砖了。
Spring Cloud Alibaba github
spring-cloud-alibaba github 包括对spring-cloud-alibaba的介绍、各组件说明以及各组件demo。
Spring Boot & Spring Cloud & Spring Cloud Alibaba 版本说明
Spring Boot & Spring Cloud & Spring Cloud Alibaba 版本说明
Nacos官方文档
Nacos官方文档 包括对Nacos的基本概念、架构介绍以及如何与Spring、SpringBoot、SpringCloud、Docker、k8s等多种方式集成使用。
Nacos运维手册
Nacos运维手册包括单机部署、集群部署以及控制台使用。
Sentinel官方文档
Sentinel官方文档包括Sentinel的使用及基本原理、控制台使用。
Spring Cloud Alibaba Sentinel
Spring Cloud Alibaba Sentinel Spring Cloud环境下使用Sentinel,以及对Feign、RestTemplet、Zuul、Gateway等组件的支持。
Seata官方文档
Seata官方文档 包括Seata的介绍、使用、部署、分布式事务以及解决方案的详细介绍。
Spring Cloud Alibaba 英语文档
spring-cloud-alibaba 英语文档基于各组件进行项目搭建。
应用脚手架
应用脚手架 alibaba提供的应用脚手架