五分钟带你玩转spring cloud alibabaSpring Cloud Alibaba Sentinel降级规则详解
Posted 小黄鸡1992
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了五分钟带你玩转spring cloud alibabaSpring Cloud Alibaba Sentinel降级规则详解相关的知识,希望对你有一定的参考价值。
1.流控
快速使用
在接口上点击流控 设置单机阈值(每秒钟的并发量) 针对来源不用修改
使用postman测试 当多次点击后会报错。
配置详解(无特殊需求可以跳过)
线程数:当操作线程大于配置 限流
流程模式
- 直接:直接限流 上文展示
- 关联:被关联的资源达到阈值,导致当前资源被限流(比如如下:当B超过QPS为1之后,A限流:)
- 链路:链路上游达到阈值,当前资源限流 例如 接口的上游都是sentinel_spring_web_context 如果sentinel_spring_web_context超过阈值 demo限流
流控效果
- 直接失败:直接抛出异常 上文方式
- warm up:当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。warm up冷启动主要用于启动需要额外开销的场景,例如建立数据库连接等。
- 排队等待:当达到阈值 请求一个一个通过 派对超过1s 抛出异常
降级
慢调用比例
满足两个条件会触发熔断:
- 请求数大于最小请求书。下面是每秒钟5个。
- 慢请求达到设置的比例。 (请求时间大于最大RT的次数*比例阈值)
异常比例
需要两个条件。
- 每秒钟请求超过最小请求数 这里是五个
- 异常比例超过50%触发熔断
异常数
需要两个条件。
- 每秒钟请求超过最小请求数 这里是五个
- 异常数大于5个
热点规则
热点规则是按照参数值进行限流
下文含义是
监控/demo接口 如果有第一个参数 那么每秒的qps为 1
如果第一个参数值 为"a" qps为20
系统规则
系统保护规则是从应用级别的入口流量进行控制,从单台机器的 load、CPU 使用率、平均 RT、入口 QPS 和并发线程数等几个维度监控应用指标,让系统尽可能跑在最大吞吐量的同时保证系统整体的稳定性。
- Load 自适应(仅对 Linux/Unix-like 机器生效):系统的 load1 作为启发指标,进行自适应系统保护。当系统 load1 超过设定的启发值,且系统当前的并发线程数超过估算的系统容量时才会触发系统保护(BBR 阶段)。系统容量由系统的
maxQps * minRt
估算得出。设定参考值一般是CPU cores * 2.5
。 - CPU usage(1.5.0+ 版本):当系统 CPU 使用率超过阈值即触发系统保护(取值范围 0.0-1.0),比较灵敏。
- 平均 RT:当单台机器上所有入口流量的平均 RT 达到阈值即触发系统保护,单位是毫秒。
- 并发线程数:当单台机器上所有入口流量的并发线程数达到阈值即触发系统保护。
- 入口 QPS:当单台机器上所有入口流量的 QPS 达到阈值即触发系统保护。
可以理解为系统规则是全局的限流配置,可以针对服务的全局QPS、机器的CPU等参数进行限流。
问题 一:发现sentinel报错 查看日志
然后查看spring boot业务项目 发现出现以下错误 ,发现fastjson版本不对 然后去当前对象的sentinel中查看jar包版本替换即可
以上是关于五分钟带你玩转spring cloud alibabaSpring Cloud Alibaba Sentinel降级规则详解的主要内容,如果未能解决你的问题,请参考以下文章
五分钟带你玩转spring cloud alibabaspring cloud ouath2 +getway跨域特殊配置
五分钟带你玩转spring cloud alibabaspring cloud ouath2 +getway跨域特殊配置