spring-cloud-alibaba-sentinel

本文介绍Sentinel的流控模式及其效果,包括直接、关联和链路模式,以及快速失败、预热和排队等待等效果。此外还讨论了降级策略,如平均响应时间、异常比例和异常数的触发条件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一.流控规则

1.流控模式: 

2.流控效果:

二.降级规则

1.降级策略:

三.热点规则

四.系统规则

五.授权规则 

六.sentinel是怎么和控制台通信的

七.控制台相关配置项

 八.sentinel API


一.流控规则

1.流控模式: 

        直接,达到阈值直接限流抛出异常。关联,当关联的资源达到阈值,就限流自己(应用场景是,控制是优先读数据库还是优先写数据库)。链路,只记录链路上的流量。

2.流控效果:

        快速失败,直接失败抛异常。warm up,根据 code Factor(默认3)的值,从阈值/ code Factor,经过预热时长,才到达设置的QPS阈值。即预热/冷启动方式。当系统长期处于低水位的情况下,当流量突然增加时,直接把系统拉升到高水位可能瞬间把系统压垮。通过"冷启动",让通过的流量缓慢增加,在一定时间内逐渐增加到阈值上限,给冷系统一个预热的时间,避免冷系统被压垮。排队等待,让请求以均匀的速度通过,对应的是漏桶算法。注意:阈值类型必须设置成QPS(适用于突发流量空闲时候处理)

二.降级规则

1.降级策略:

        RT(平均降级时间),平均响应时间(秒级统计)超出阈值&&在时间窗口内通过通过请求>=5 ----->触发降级(断路器打开)----->时间窗口结束----->关闭降级。注意点:RT默认值是4900ms通过 Dcsp.sentinel. statistic. max.rt=XX修改。异常比例,QPS>=5&&异常比例(秒级统计)超过阈值----->触发降级(断路器打开)----->时间窗口结束----->关闭降级。异常数,异常数(分钟统计)超过阈值----->触发降级(断路器打开)----->时间窗口结束----->关闭降级。注意点:时间窗口<60秒可能会出问题!

三.热点规则

        某些参数的QPS比较高的情况设置热点规则能让指定参数QPS降低提高API的可用性,注意点:参数类型必须是基本类型或者string

四.系统规则

        当系统load1(1分钟的load)超过阈值,且并发线程数超过系统容量时触发,建议设置为CPU核心数*2.5。(仅对Lnux/Unixike机器生效),系统容量= maxQps* minrt  maxqps:秒级统计出来的最大QPS    minrt:秒级统计出来的最小响应时间。RT:所有入口流量的平均RT达到阈值触发。线程数:所有入口流量的并发线程数达到阈值触发。入口QPS:所有入口流量的QPS达到阈值触发。

五.授权规则 

        资源允许某个微服务访问(白名单)或者是禁止某个微服务访问(黑名单)

六.sentinel是怎么和控制台通信的

七.控制台相关配置项

 八.sentinel API

SphU,定义资源让资源受到监控并且可以保护资源。Tracer,可以对我们想要的异常进行统计ContextUtil,可以实现调用来源还可以标记调用。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值