前言
自2018年Netflix公司宣布对核心组件Hystrix、Ribbon、zuul、Eureka等进入维护状态后,Spring Cloud 也随即宣布Spring Cloud Netflix项目进入维护模式。
为了应对这一变化,Spring Cloud Alibaba就诞生了,它完全兼容了Spring Cloud Netflix中的Ribbon、Feign、Eureka等组件,确保基于Spring Cloud Netflix的项目能够平滑、无缝地迁移到Spring Cloud Alibaba。
所以,现在的技术公司在选择微服务框架时,基本上都会选择Spring Cloud Alibaba。
为了让大家可以系统学习 Spring Cloud Alibaba ,本文整理了一份 Spring Cloud Alibaba 全套学习指南,希望能为大家的学习过程带来一丝便捷。
Spring Cloud Alibaba 介绍
Spring Cloud Alibaba 提供微服务开发的一站式解决方案,包含开发分布式应用服务的必需组件,方便开发者轻松使用这些组件来开发分布式应用服务。
主要功能
- 服务限流降级:默认支持 WebServlet、WebFlux、OpenFeign、RestTemplate、Spring Cloud Gateway、Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。undefined各组件的应用除了对标Netflix的Hystrix、Ribbon、Eureka等,Alibaba还提供了非常重要的分布式事务组件Seata。
- 服务注册与发现:适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
- 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
- 消息驱动能力:基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
- 分布式事务:使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。
- Nacos:服务注册与发现、分布式配置于一体的管理平台。
- Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。相比Hystrix,不仅提供可视化监控,其流量控制、熔断降级等功能也是相当丰富完善。
- Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
- 其他商业组件
各组件应用如下图
学习文档
Spring Cloud Alibaba出自于阿里,各个组件的中文文档相当完善,从搭建到使用以及原理非常详细,就不在这搬砖了。
Spring Cloud Alibaba 官网
Spring Cloud Alibaba 官网 里面有各个组件的使用指南和案例,实践教程非常的全面,可以帮助小白快速上手 Spring Cloud Alibaba。
Spring Boot & Spring Cloud & Spring Cloud Alibaba 版本依赖关系
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 这里是非常详细的使用说明,包括对Feign、RestTemplet、Zuul、Gateway等组件的支持。
Seata官方文档
Seata官方文档中有对Seata的介绍、使用、部署、分布式事务以及案例实践,可以快速实现分布式事务。
Dubbo 官网
个人认为 Spring Cloud Alibaba 和 Dubbo 非常搭配,服务之间通过 Dubbo 调用还是非常高效的。Dubbo 官网
应用脚手架
可以通过应用脚手架快速创建微服务脚手架。