当前位置: 首页 > news >正文

利用Sentinel解决雪崩问题(一)流量控制

1、解决雪崩问题的常见方式有四种:

  1. 超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待;
  2. 舱壁模式:限定每个业务能使用的线程数,避免耗尽整个tomcat的资源,因此也叫线程隔离;
  3. 熔断降级:由断路器统计业务执行的异常比例,如果超出阈值则会熔断该业务,拦截访问该业务的一切请求;
  4. 流量控制:限制业务访问的OPS,避免服务因流量的突增而故障。

2、Sentinel的流控模式

在添加限流规则时,点击高级选项,可以选择三种流控模式:
  • 直接:统计当前资源的请求,触发阈值时对当前资源直接限流,也是默认的模式;
  • 关联:统计与当前资源相关的另一个资源,触发阈值时,对当前资源限流;
  • 链路:统计从指定链路访问到本资源的请求,触发阈值时,对指定链路限流;

3、Sentinel的流控效果

流控效果是指请求达到流控阈值时应该采取的措施,包括三种:
  • 快速失败:达到阈值后,新的请求会被立即拒绝并抛出FlowException异常。是默认的处理方法
  • warm up:预热模式,对超出阈值的请求同样是拒绝并抛出异常。但这种模式阈值会动态变化,从一个较小值逐渐增加到最大阈值。
  • 排队等待:让所有的请求按照先后次序排队执行,两个请求的间隔不能小于指定时长。

3.1、快速失败,默认模式不过多介绍

3.2、warm up-效果示意图:

3.3、排队等待-效果示意图:

       如下图所示,本来激增的并发量, 由于加入了排队等待,巨大的并发请求变得有条不紊,不过在超过排队队列的容量的那些请求,可能会丢失,有利有弊。

4、热点参数限流

http://www.lryc.cn/news/338633.html

相关文章:

  • 二叉树总结
  • 接口优化技巧
  • 【工具】NPS 内网穿透搭建
  • 【数学】主成分分析(PCA)的详细深度推导过程
  • 微信跳转页面时发生报错
  • 8:系统开发基础--8.1:软件工程概述、8.2:软件开发方法 、8.3:软件开发模型、8.4:系统分析
  • 【简单讲解下Symfony框架】
  • [Linux基础]ln硬链接和ln -s软链接的方法参数及区别
  • 开源博客项目Blog .NET Core源码学习(15:App.Hosting项目结构分析-3)
  • 【muzzik 分享】3D模型平面切割
  • SCI一区 | Matlab实现OOA-TCN-BiGRU-Attention鱼鹰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
  • nodejs安装常用命令
  • 使用 Prometheus 在 KubeSphere 上监控 KubeEdge 边缘节点(Jetson) CPU、GPU 状态
  • OSI七层网络模型 —— 筑梦之路
  • 状态模式:管理对象状态转换的动态策略
  • 【论文阅读】MCTformer: 弱监督语义分割的多类令牌转换器
  • FMix: Enhancing Mixed Sample Data Augmentation 论文阅读
  • 2024蓝桥A组A题
  • Linux journalctl命令详解
  • 恢复MySQL!是我的条件反射,PXB开源的力量...
  • Storm详细配置
  • linux redis部署教程
  • 【Java】隐式锁(synchronized):如何解决餐厅等座的并发难题
  • 科技论文和会议录制高质量Presentation Video视频方法
  • Spring高手之路17——动态代理的艺术与实践
  • 如何在Unity中使用设计模式
  • 基于springboot+vue+Mysql的旅游管理系统
  • vue3+ts中判断输入的值是不是经纬度格式
  • python常用知识总结
  • 常用的启发式算法