SpringCloud学习记录 | 第十七篇:SpringCloud Alibaba Sentinel 流控规则

重要、重要、重要

Sentinel中文文档:https://github.com/alibaba/Sentinel/wiki/%E4%BB%8B%E7%BB%8D

 

基本介绍

前一篇讲了怎么部署和配置Sentinel,接下来我们看看Sentinel怎么进行流控。

流量控制(flow control),其原理是监控应用流量的 QPS 或并发线程数等指标,当达到指定的阈值时对流量进行控制,以避免被瞬时的流量高峰冲垮,从而保障应用的高可用性。

  • 资源名:唯一名称,默认为请求路径
  • 针对来源:Sentinel可以针对调用者进行限流,填写微服务名称。若为 default 则不区分调用来源
  • 阈值类型/单机阈值:
  1. QPS(每分钟请求的数量):当调用该api的QPS达到阈值的时候,进行限流
  2. 线程数:当调用该api的线程达到阈值的时候,进行限流(Tomcat接受请求时是从线程池中获取一个线程来处理请求的,当设置的线程达到我们设置的阈值是才会触发限流)

 

流控模式

  • 直接:api达到流控条件时,直接限流。如下图,当/testA达到限流阈值时就触发限流。我们阈值设置的是5,当前端访问/testA的QPS达到5时就会触发限流。

  • 关联:当关联的资源达到阈值时,就限流自己。如下图,当/testB达到限流阈值时,/testA就触发限流。我们阈值设置的是5,当前端访问/testB的QPS达到5时,/testA就会触发限流。

  • 链路:记录指定链路上的流量

 

流控效果

  • 快速失败:直接失败,抛出异常。
  • Warm Up:根据codeFactor(冷加载因子,默认值为3)的值,从阈值/odeFactor,经过预热时长达到设定的QPS值。
  • 排队等待:匀速排队,让请求匀速通过。当阈值设置的类型为QPS时才有排队等待这个设置,否则无效。

 

其他

1.参考代码:https://github.com/TianLuhua/springCloud2020.git

2.Sentinel:需要自己下载,然后跑起来

3.Sentinel客户端:cloudalibaba-sentinel-service8401

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值