开发者学堂课程【全面讲解 Spring Cloud Alibaba 技术栈(知识精讲+项目实战)第二阶段:流控规则-流控效果】学习笔记与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/684/detail/11875
流控规则-流控效果
内容介绍:
一、快速失败
二、预热
三、排队等待
流控效果是指当服务被流控时,以何种效果进行处理。在 Sentinel 中,内置有三种流控效果,快速失败,预热,排队等待。
一、快速失败
快速失败(默认):直接失败,抛出异常,不在任何额外处理,是最简单的效果。
测试流程如下:
点击新增,访问 message 2 ,持续刷新,出现效果 “Blocked by Sentinel (flow limiting)”
二、预热
预热 Warm up :它从开始阈值到最大 QPS 阈值会有一缓冲阶段,一开始的阈值是最大 QPS 阈值的1/3,然后慢慢增长,直到最大阈值,适用于将突然增大的流量转换为缓步增长的场景。
三、排队等待
让请求以均匀速度通过,单机阈值为每秒通过数量,其余的排队等待;它还允许使用者设置一超时时长,当请求超过超时时长还未被处理,则会被丢弃。
A向C发出请求,A的 QPS 为10,最大限轴限制到5,即另外的5个请求需要失败。如果流控效果为排队等待,则另外5个请求不需要失败。
若该通道为漏斗状,其一侧宽度为5,通道入口有10个请求,当其通过时,前5个请求流过通道,到达C。
另5个请求等待前面处理结束后,另外5个再通过该通道,执行后续流程。刷新 message 2,请求全部通过。
如果上述过程中等待执行的另5个请求超过该时长,还未处理,点击新增,访问 message 2 ,持续刷新,出现效果 “Blocked by Sentinel (flow limiting)”。