SpringCloud Alibaba 的产生
SpringCloud 的相关版本都已经停止维护,不再提供技术支持,SpringCloud还是继续使用,但是出现了问题不再提供解决方案。
因此SpringCloud Alibaba作为在微服务框架上替代的解决方案问世了,SpringCloud Alibaba顾名思义就是Alibaba版本的SpringCloud,可以说就是增强版本。SpringCloud 有的功能 SpringCloud Alibaba 一个不少,而且针对 SpringCloud 的短板还提供了更好的解决方案。
SpringCloud Alibaba在2018年10月31日正式入驻了SpringCloud官方孵化器,并在Maven中央库发布了第一个版本(Spring Cloud for Alibaba 0.2.0 released)。
SpringCloud Alibaba 的功能
1、流控制和服务降级:支持 WebServlet,WebFlux,OpenFeign,RestTemplate,Dubbo
访问限制和降级流的功能。它可以在运行时通过控制台实时修改限制和降级流的规则,并且还支持监视限制和降级度量标准。
2、服务注册和发现:可以注册服务,并且客户可以使用 Spring 托管的 bean(自动集成功能区)发现实例。
3、分布式配置:支持分布式系统中的外部配置,配置更改时自动刷新。
4、RPC 服务:扩展 Spring Cloud 客户端 RestTemplate 和 OpenFeign 以支持调用 Dubbo RPC
服务。
5、事件驱动:支持构建与共享消息系统连接的高度可扩展的事件驱动微服务。
6、分布式事务:支持高性能且易于使用的分布式事务解决方案。
7、阿里云对象存储:大规模,安全,低成本,高度可靠的云存储服务。支持随时随地在任何应用程序中存储和访问任何类型的数据。
8、阿里云 SchedulerX:准确,高度可靠,高可用性的计划作业调度服务,响应时间在几秒钟之内。
9、阿里云短信:阿里云短信服务覆盖全球,可提供便捷,高效,智能的通信功能,帮助企业快速联系客户。
SpringCloud Alibaba 组件
1、分布式服务调用 Dubbo
Apache Dubbo是一款高性能Java RPC框架
2、服务配置和服务注册中心 Nacos
阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台,可以用来作为服务注册中心和配置中心。相当于是 Eureka 和 Config 合体,并且对 Dubbo 也有很好的支持。
3、分布式限流与熔断Sentinel
阿里巴巴开源产品,把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
4、分布式消息通信RocketMQ
Apache RocketMQ 是基于Java的高性能、高吞吐量的分布式消息和流计算平台。
5、分布式事务Seata
Seata 是一款 Alibaba 开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。
6、微服务网关Spring Cloud Gateway
在微服务架构中,API 网关是一个服务,是介于客户端和服务器端之间的中间层,是服务端的唯一入口。从面向对象设计的角度看,它与外观模式类似。API 网关封装了系统内部架构,为每个客户端提供一个定制的 API。网关还具有其它职责,如身份验证、负载均衡、降级与应用检测等功能。