当前位置: 首页 > news >正文

七天学会SpringCloud分布式微服务——06——Sentinel

Sentinel 是由 Alibaba 开发的一个轻量级的 流量控制熔断降级 的框架,主要用于保护微服务架构下的应用,避免因为高并发、系统异常等导致服务崩溃

1、理解Sentinel并初步使用

流量控制(Flow Control):限制某些资源的访问次数,以防止流量过大导致服务崩溃。比如限制某个接口的每秒请求次数(QPS),避免过高的并发请求压力。

熔断降级(Circuit Breaker):当某个服务或接口调用失败率过高时,自动进入熔断状态,停止请求,避免继续恶化系统状况。

实时监控与动态调整:Sentinel 提供了一个 Dashboard,用于实时查看流量情况、熔断状态、规则等,并支持动态调整流量控制规则,确保系统始终保持在安全的运行状态
在这里插入图片描述
在这里插入图片描述

1.1 Sentinel 的基本工作流程

Sentinel 通过定义 资源(Resource),并通过为资源设置 流量控制规则,来限制访问量和对服务的保护。

  1. 定义资源:你可以把每个微服务的接口或方法看作一个资源(例如,某个 REST API)。在 Sentinel 中,资源是需要被保护的单位。

  2. 定义流量控制规则:为每个资源设置流量控制规则(比如 QPS、并发数限制等)。当请求超过限制时,Sentinel 会进行降级或者流量控制处理

  3. 请求到达时判断:当外部请求访问一个资源时,Sentinel 会检查该资源的流量控制规则。如果请求数超过阈值,Sentinel 会启动流量控制策略,如拒绝请求或执行降级逻辑

  4. 流量控制/熔断

    • 流量控制:超出设定的流量限制时,Sentinel 会进行流量切断或拒绝。
    • 熔断降级:当某个资源失败率过高时,Sentinel 会进行熔断,拒绝请求直到系统恢复。
  5. 实时监控:Sentinel 提供了一个 Dashboard,实时显示各个资源的流量、状态、规则、异常等信息,帮助开发者做出动态调整。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

1.2 下载并启动sentinel

下载使用

1.3 在两个微服务yml中都配置Sentinel 端口号

在这里插入图片描述
在这里插入图片描述

1.4 默认web接口当作资源,然后使用注解手动添加资源

在这里插入图片描述

1.5 启动项目,并访问createOrder

在这里插入图片描述

1.6 规则的解释

在这里插入图片描述

  1. 流控规则(流控):限制每秒请求数(QPS),例如在高并发情况下,可能会因为流量过大而限制访问。

  2. 熔断规则(熔断):当请求失败率达到某一阈值时,开启熔断,暂停或拒绝一些请求,避免系统过载。

  3. 热点规则(热点):针对请求中的热点数据(例如某个高频访问的资源或API),进行特殊的流控策略,以保证系统稳定。

  4. 授权规则(授权):确保只有经过授权的请求可以访问特定的资源或服务,防止未授权访问。

测试流控规则:
在这里插入图片描述
每秒只能一个这样的请求,否则限流失效
在这里插入图片描述

2、Sentinel异常处理

也就是说,如果出现异常,我们要返回给前端json数据,所以要进行异常处理

类似于这样:
在这里插入图片描述
在这里插入图片描述

http://www.lqws.cn/news/583651.html

相关文章:

  • Android阴影效果的艺术与实现:从入门到精通
  • WIFI 低功耗保活知识系列---三.WiFi AP如何广播自己的缓存区信息
  • 为何 SQL 性能调优的重要性更为突出
  • 工业级PHP任务管理系统开发:模块化设计与性能调优实践
  • Linux驱动学习day11(定时器)
  • 华为云Flexus+DeepSeek征文| 使用华为云CCE容器部署Dify-LLM高可用方案的验证与测试
  • Spring Security 鉴权与授权详解(前后端分离项目)
  • 基础算法合集-图论
  • 银河麒麟系统上利用WPS的SDK进行WORD的二次开发
  • 2025 年 6 月 TIOBE 指数
  • 浪潮和曙光服务器的ipmi配置教程
  • 带修莫队(三维莫队)
  • K8S初始化master节点不成功kubelet.service failed(cgroup driver配置问题)
  • Pyhton-EXCEL与Mysql数据对比
  • 引爆点:ImageNet、AlexNet与深度学习的惊雷
  • VBA代码解决方案第二十六讲:如何新建EXCEL工作簿文件
  • Windows Excel文档办公工作数据整理小工具
  • 飞纳台式扫描电镜能谱一体机:元素分析与高分辨率成像的完美结合
  • FPGA实现CameraLink视频解码转SDI输出,基于LVDS+GTX架构,提供2套工程源码和技术支持
  • 如何读取运行jar中引用jar中的文件
  • GitHub Actions 入门指南:从零开始自动化你的开发流程
  • Redis中的缓存击穿、缓存穿透和缓存雪崩是什么?
  • 如何提升 iOS App 全链路体验?从启动到退出的优化调试流程
  • 2025群晖NAS新品:Plus系列性能升级,2.5GbE网络标配成亮点
  • Prompt:提示词工程
  • DDL-8-小结
  • C语言之文件操作详解(文件打开关闭、顺序/随机读写)
  • Apache Doris Profile 深度解析:从获取到分析,解锁查询性能优化密码
  • 离线环境安装elk及设置密码认证
  • ChatGPT、DeepSeek等大语言模型助力高效办公、论文与项目撰写、数据分析、机器学习与深度学习建模等科研应用