Sentinel 系统自适应限流原理剖析与实战指导,javaapi使用教程

本文深入探讨了Sentinel系统自适应限流的原理,包括检测流程、根据系统负载的自适应算法以及Java如何获取操作系统负载。Sentinel通过BBR算法评估系统处理能力,动态调整限流策略,确保系统稳定并优化吞吐量。
摘要由CSDN通过智能技术生成

官方文档针对这个问题有过仔细阐述,我们先来看看官方文档对其阐述。

引入系统自适应限流的主要的目的有如下两个:

  • 保证系统不被拖垮

  • 在系统稳定的前提下保证系统的吞吐量。

目前我们接触的限流的防护思路都是设定一个指标(阔值),例如系统的负载 load 超过某个阔值后就阻止或减少流量的继续进入,当系统负载降低到某一水平后则恢复流量的进入。通常都是被动的,其实际效果取决与阔值设置是否合理,但往往设置合理不是一件容易的事情。

那 Sentinel 提供的系统自适应是可以将设定的规则作为一个保护因子,而允许通过的流量由处理请求的能力来决定,即根据请求的响应时间、当前系统正在处理的请求速率来决定。

那 Sentinel 是如何实现的呢?接下来用源码的手段来揭晓其实现原理。

2、系统自适应限流原理


Sentinel 执行系统限流的核心入口类为 SystemSlot,该类实现简单,如下图所示:

SystemRuleManager#checkSystem

从这里可以看出实现的关键在于SystemRuleManager,这里是直接调用 checkSystem 进行是否触发其限流,那我们接下来重点跟踪一下该方法的实现。

2.1 自适应限流检测流程

系统自适应限流检测具体由 SystemRuleManager 的 checkSystem

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值