SpringCloud Alibaba
本篇目标:简要介绍Spring Cloud Alibaba 和其主要组件 Nacos,Sentinel,Seata。
简介
Spring Cloud Alibaba为分布式应用程序开发提供了一站式解决方案。它包含开发分布式应用程序所需的所有组件,使您可以轻松地使用Spring Cloud开发应用程序。使用Spring Cloud Alibaba,您只需要添加一些注释和少量配置即可将Spring Cloud应用程序连接到Alibaba的分布式解决方案,并使用Alibaba中间件构建分布式应用程序系统。
软件环境
◆ JDK 8 ◆ MySQL 8.0.13 ◆ Maven 3.3.5
特性
- 服务限流降级:默认支持servlet,feign,restTemplate,dubbo和rocketMQ限流降级功能的接入,可以在运行时间通过控制台实时修改限流降级规则,还支持查看限流降级Metrics监控。
- 服务注册与发现:适配Spring Cloud 服务注册与发现标准,默认集成了Ribbon的支持。
- 分布式配置管理:支持分布式系统中的外部化配置,配置更改时自动刷新。
- 消息驱动能力:基于Spring Cloud Stream 为微服务应用构建消息驱动能力。
- 阿里云对象存储:阿里云提供的海量,安全,低成本,高可靠的云存储服务,支持在任何应用,任何时间,任何地点存储和访问任意类型的数据。
- 分布式任务调度:提供秒级,精准,高可靠,高可用的定时任务调度服务.同时提供分布式的任务执行模型,如网格任务.网格任务支持海量子任务均匀分配到所有Worker上执行。
应用场景
◆ 大型复杂的系统:例如大型电商系统 ◆ 高并发系统:例如大型门户网站,商品秒杀系统 ◆ 需求不明确,且变更很快的系统:例如创业公司业务系统
重要组件
- 服务发现Nacos
- 负载均衡Ribbon
- 声明式HTTP客户端-Feign
- 服务容错Sentinel
- 消息驱动RocketMQ
- API网关GateWay
- 用户认证与授权
- 配置管理Nacos
- 调用链监控Sleuth
目前技术
- Sentinel:阿里巴巴开源产品,把流量作为切入点,从流量控制,熔断降级,系统负载保护等多个维度保护服务的稳定性
- Nacos:阿里巴巴开源产品,一个更易于构建云原生应用的动态服务发现,配置管理和服务管理平台
- RocketMQ:Apache RocketMQ基于Java的高性能,高吞吐量的分布式消息和流计算平台
- Dubbo:Apache Dubbo是一款高性能 Java RPC 框架
- Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案
- Alibaba Cloud OSS:阿里云对象存储服务(Object Storage Service,简称OOS),是阿里云提供的海量,安全,低成本,高可靠的云存储服务。
- Alibaba Clo