SpringCloud Alibaba概述
为什么会出现SpringCloud Alibaba
SpringCloud NetFlix Projects Entering Maintenance Mode.
即Spring Cloud Netflix项目进入维护模式。
SpringCloud Alibaba带来了什么
https://github.com/alibaba/spring-cloud-alibaba/blob/master/README-zh.md
SpringCloud Alibaba能做些什么
Sentinel:把流量作为切入点,从流量控制、熔断降级、系统负载保护等多个维度保护服务的稳定性。
Nacos:一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
RocketMQ:一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。
Dubbo:Apache Dubbo™ 是一款高性能 Java RPC 框架。
Seata:阿里巴巴开源产品,一个易于使用的高性能微服务分布式事务解决方案。
Alibaba Cloud ACM:一款在分布式架构环境中对应用配置进行集中管理和推送的应用配置中心产品。
Alibaba Cloud OSS: 阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。您可以在任何应用、任何时间、任何地点存储和访问任意类型的数据。
Alibaba Cloud SchedulerX: 阿里中间件团队开发的一款分布式任务调度产品,提供秒级、精准、高可靠、高可用的定时(基于 Cron 表达式)任务调度服务。
Alibaba Cloud SMS: 覆盖全球的短信服务,友好、高效、智能的互联化通讯能力,帮助企业迅速搭建客户触达通道。
SpringCloud Alibaba Nacos服务注册和配置中心
Nacos简介
前四个字母分别为Naming和Configuration的前两个字母,最后的s为Service
各注册中心的比较
Nacos作为服务注册中心演示
Nacos作为服务配置中心演示
基础配置
为什么配置两个YML
分类配置
多环境多项目管理问题
Namespace+Group+Data ID三者关系
Nacos集群和持久化配置(重要)
https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html
官方架构图
真实情况
Nacos持久化配置解释
Linux版Nacos+MySQL生产环境配置
总结
SpringCloud Alibaba Sentinel实现熔断与限流
https://github.com/alibaba/Sentinel
Sentinel简介
一句话:之前讲解过的Hystrix。
服务使用中的各种问题
- 服务雪崩
- 服务降级
- 服务熔断
- 服务限流
初始化演示工程
流控规则
流控模式
流控效果
降级规则
RT
异常比例
异常数
热点Key限流
添加异常
系统规则(不常用)
@SentinelResource注解
“兜底方法”面临的问题
服务熔断功能
sentinel整合ribbon+openFeign+fallback
Ribbon系列
Feign系列
熔断框架比较
规则持久化
SpringCloud Alibaba Seata处理分布式事务
分布式事务问题
分布式前
分布式后
一句话:一次业务操作需要跨多个数据源或需要跨多个系统进行远程调用,就会产生分布式事务问题。
Seata简介
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。
一个典型的分布式事务过程
订单/库存/账户业务数据库准备
业务说明
订单/库存/账户业务微服务准备
测试
Seata原理
- Post link: http://example.com/2021/02/24/SpringCloud-Alibaba/
- Copyright Notice: All articles in this blog are licensed under unless otherwise stated.