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

秋招Day19 - 分布式 - 限流

了解哪些限流算法?

计数器

计数器比较简单粗暴,比如我们要限制 1s 能够通过的请求数,实现的思路就是从第一个请求进来开始计时,在接下来的 1s 内,每个请求进来请求数就+1,超过最大请求数的请求会被拒绝,等到 1s 结束后计数清零,重新开始计数。

这种方式有个很大的弊端:在一个极短的时间内(例如,从 999 毫秒到 1001 毫秒这 2 毫秒里),系统可能实际处理了 100(第 0 秒末尾) + 100(第 1 秒开头) = 200 个请求。这远远超出了我们预期的“每秒 100 个请求”的限制。这种现象叫做“突刺现象”。

漏桶算法

就是桶底出水的速度恒定,进水的速度可能快慢不一,但是当进水量大于出水量的时候,水会被装在桶里,不会直接被丢弃;但是桶也是有容量限制的,当桶装满水后溢出的部分还是会被丢弃的。

算法实现:可以准备一个队列来保存暂时处理不了的请求,然后通过一个线程池定期从队列中获取请求来执行。

令牌桶算法

令牌桶就是生产访问令牌的一个地方,生产的速度恒定,用户访问的时候当桶中有令牌时就可以访问,否则将触发限流。

http://www.dtcms.com/a/299551.html

相关文章:

  • VUE2 学习笔记7 v-model、过滤器
  • 各种前端框架界面
  • ARM SMMUv3控制器注册过程分析(八)
  • odoo代码分析(一)
  • 以太坊下一阶段的关键——隐私
  • 根本是什么
  • Transformer:颠覆NLP的自注意力革命
  • ts-node 深入全面讲解
  • nginx一个域名下部署多套前端项目
  • 松茸第一品牌菌贝品质把控对行业的影响分析
  • haproxy配置详解
  • mysql查找数据库表中某几个连续的编号中中断的编号
  • RustFS for .NET 演示项目深度解析:构建 S3 兼容的分布式存储应用
  • 二次函数图像动画展示
  • 雨雪雾冰全预警:交通气象站为出行安全筑起“隐形防护网”
  • 【愚公系列】《MIoT.VC》003-构建基本仿真工作站(组件的属性、行为、视频展示)
  • Spring Boot 单元测试进阶:JUnit5 + Mock测试与切片测试实战及覆盖率报告生成
  • inversify
  • 【web大前端】001_前端开发入门:创建你的第一个网页
  • 0基础法考随手笔记 03(刑诉05 刑事证据与证明+06 强制措施)
  • 【智能协同云图库】第三期:实现用户上传图片及审核功能、使用模板方法模式优化上传图片功能、使用 Jsoup 实现批量抓取和上传图片功能
  • 掌握Gemini-2.5:现代AI开发中实用应用的综合指南
  • 2025最新软件测试面试八股文【附文档】
  • 基于动态增强的 LLM 置信度方法研究
  • 存储引擎 RocksDB
  • 速通python加密之SHA加密
  • MySQL进阶学习与初阶复习第三天
  • AWD的攻击和防御手段
  • 在 C# 中,问号 ? 的一些作用
  • 0.深度学习环境配置步骤