Sentinel的常用配置详解
1.流控
1.快速使用
在接口上点击流控,设置单机阈值(每秒钟的并发量),针对来源不用修改。
使用postman测试,当多次点击后会报错。
2.配置详解(无特殊需求可以跳过)
1.阈值类型
-
线程数:当操作线程大于配置,限流!
-
QPS:当每秒并发数大于配置,限流!
2.流程模式
-
直接:直接限流,上文实例展示。
-
关联:被关联的资源达到阈值,导致当前资源被限流。(如下:当B超过QPS为1之后,A限流:)
- 链路:链路上游达到阈值,当前资源限流。例如:接口的上游都是sentinel_spring_web_context如果sentinel_spring_web_context超过阈值,demo限流!
3.流控效果
-
直接失败:直接抛出异常,上文示例方式。
-
warm up:当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。warm up冷启动主要用于启动需要额外开销的场景,例如建立数据库连接,秒杀等等,防止服务瞬间被打垮。白话讲就是,根据冷加载因子,默认3,经过一段时间,才能达到预设的QPS。下图含义是初始阈值为10/3 = 3,在5秒内到达QPS到达10。
- 排队等待:当达到阈值,请求一个一个通过,排队超过1s,抛出异常。
2.降级
1.慢调用比例
满足两个条件会触发熔断:
-
请求数大于最小请求数。下面是每秒钟5个。
-
慢请求达到设置的比例。(请求时间大于最大RT的次数*比例阈值)
2.异常比例
需要两个条件。
-
每秒钟请求超过最小请求数,这里是五个。
-
异常比例超过50%触发熔断。
3.异常数
需要两个条件。
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
*
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
更多推荐
所有评论(0)