Spring Cloud Alibaba 加入 Spring Cloud 体系

转载声明 : 该文章出处为 扛麻袋的少年

本文目录:

    • 写在开头
    • 1.什么是维护模式
    • 2.Spring Cloud Alibaba
        • 2.1 主要功能
        • 2.2 Spring Cloud Alibaba包含哪些组件
        • 2.3 官方参考文档


写在开头

  接上一篇文章:Spring Cloud Sleuth + Zipkin 分布式链路追踪,链路调用更清晰。我们已经了解完以下内容:

  1. Eureka、Consul、Zookeeper 用作 服务注册中心
  2. Ribbon + RestTemplate、OpenFeign 用作 服务调用+负载均衡
  3. Hystrix 用作 服务降级、服务熔断、服务限流等
  4. Spring Cloud Gateway 用作 服务网关
  5. Spring Cloud Config 用作 分布式服务配置
  6. Spring Cloud Bus 用作 服务总线,配合 Spring Cloud Config 实现 配置中心的动态刷新
  7. SpringSpring Cloud Sleuth + Zipkin 用作链路调用

1.什么是维护模式

  随着 Spring Cloud Netflix 项目进入维护模式(Maintenance Mode),Eureka、Hystrix、Ribbon、Zuul 等项目都进入了维护模式。

  将模块置于 维护模式 意味着 Spring Cloud 团队将不再向该模块添加新功能。我们将修复 block 级别的 bug 和安全性问题,还将考虑并审查社区中的小请求。自 Spring Cloud Greenwich 版本发行(2018.12.12)以来,Spring Cloud 打算继续为这些模块提供至少一年的支持。(摘自:官网)

  现在是 2020.7.20 ,Spring Cloud 已经发行 Hoxton SR6 版本。针对 Spring Cloud Netflix 相关模块已经不再提供支持。我们都知道 Spring Cloud 版本迭代算是比较快的,因而出现了很多重大 ISSUE 都还来不及 Fix 就又推出另一个 Release 版本了。进入维护模式意味着:以后一段时间 Spring Cloud Netflix 提供的服务和功能就这么多了,不再开发新的组件和功能了,这显然无法满足接下来微服务的开发要求。

  伴随着 Spring Cloud Netflix 倒下,一手好牌打的稀巴烂,停更的组件自然就需要寻找替代者来继续下去。Alibaba 为了能够在微服务领域占据一定的话语权,此时便趁虚而入,于2018.10.31 Spring Cloud Alibaba 正式入驻 Spring Cloud 官方孵化器,并在 Maven Spring Cloud for Alibaba 0.2.0 released。(附:Spring Cloud Alibaba 官方介绍)
在这里插入图片描述

2.Spring Cloud Alibaba

  Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

  依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

2.1 主要功能

  1. 服务限流降级: 默认支持 WebServlet、WebFlux, OpenFeign、RestTemplate、Spring Cloud Gateway, Zuul, Dubbo 和 RocketMQ 限流降级功能的接入,可以在运行时通过控制台实时修改限流降级规则,还支持查看限流降级 Metrics 监控。
  2. 服务注册与发现: 适配 Spring Cloud 服务注册与发现标准,默认集成了 Ribbon 的支持。
  3. 分布式配置管理: 支持分布式系统中的外部化配置,配置更改时自动刷新。
  4. 消息驱动能力: 基于 Spring Cloud Stream 为微服务应用构建消息驱动能力。
  5. 分布式事务: 使用 @GlobalTransactional 注解, 高效并且对业务零侵入地解决分布式事务问题。。
  6. 阿里云对象存储: 阿里云提供的海量、安全、低成本、高可靠的云存储服务。支持在任何应用、任何时间、任何地点存储和访问任意类型的数据。
  7. 分布式任务调度: 提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。同时提供分布式的任务执行模型,如网格任务。网格任务支持海量子任务均匀分配到所有 Worker(schedulerx-client)上执行。
  8. 阿里云短信服务: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。

2.2 Spring Cloud Alibaba包含哪些组件

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

2.3 官方参考文档

  1. Spring Cloud Alibaba官网
  2. Github英文文档
  3. Spring英文文档
  4. Github中文文档

  Alibaba Cloud OSSAlibaba Cloud SchedulerXAlibaba Cloud SMS 是阿里云相关的付费业务。接下来,我们主要介绍 Nacos、Sentinel、Seata 这三个模块。

下一篇:Spring Cloud Alibaba Nacos 用于服务注册和配置中心

你可能感兴趣的:(SpringCloud)