Sentinel 学习

1、服务雪崩

 

调用链路上有一个公共的服务不可用导致其他服务不可用,这种级联的不可用会导致整个应用服务不可用。

2、解决办法

 使用sentinel:1、限流(服务端)  2、降级(消费端)

3、其他

@SentinelResouce:

                    value:被保护的资源
                    blockhandler: 指定被流控后执行的方法  需要和原方法再同一个类中,同时 指定的方法必须是public 而且返回值与原方法一致
                    包含原方法参数,可以多出一个BlockException 的参数。
                如果不想再同一个类中,
                1、指定 blockHandleclass
                2、而且再blockHandleclass 中方法必须为static

sentinel 支持的流控方式,限流和降级

一、限流

        控制指标:QPS和线程数

        流控模式(影响谁):直接、关联和链路

        流控效果(影响的结果):快速失败、Warmup、排队等待

1、指标:

        QPS: 限制的是每秒并发量

        线程数:影响的是服务调用的线程数量

2、流控模式:

        直接:

        关联:A----调用----》B,在A上配置了流控规则,关联了B,则当B触发了流控规则A会被限制。

        场景: 订单查询和插入。 在查询的服务上配置流控规则,关联订单插入,当订单插入触发了流控,则订单查询被影响。

         链路: A----调用----》B,在A上配置了流控规则,链路了B,则当A触发了流控规则B会被限制。

        场景:当A被B和C同时调用,A的访问量上来后,限制B(不太重要)访问A,而让C继续能够访问。则对A配置流控规则,链路配置B,则A触发流控时,B会被限制。

3、流控效果:

        快速失败:

        warmup:预热,假设设置QPS是10,则在一开始QPS为3(冷加载因子),在指定时间内,达到QPS10.

        排队等待:设置等待时间,在等待时间后,如果没有响应则失败。

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值