首页 > 编程语言 >对四种限流算法的思考和总结

对四种限流算法的思考和总结

时间:2024-08-21 13:27:14浏览次数:12  
标签:10 令牌 窗口 请求 算法 限流 四种

对四种限流算法的思考和总结

固定窗口限流

是什么:指定一个单位时间内允许多少次操作来限流
优点: 简单
缺点: 假如设置了一分钟允许10次操作,但是第一秒就操作了10次。或者第59秒来了10次操作,紧接着第61秒又来了10次 这样的话就形成了流量突刺

滑动窗口限流

把上面的单位时间拆分,打个比方,刚才是1分钟可以操作10次,现在把1分钟划分成10个6s的窗口,每个窗口期间只能接收1个请求,当0~6秒这个窗口结束时,自动把60 ~ 66秒这个窗口添加进来,就好像是滑动的一样。这样就解决了流量突刺的问题

缺点: 实现复杂 很难选择合适的滑动单位

漏桶限流算法

设置一个有存储上限的桶, 请求来了, 先放到桶中,按指定的固定速率给到系统来处理。

缺点: 因为速率固定,所以没办法快速处理一批请求。固定速率还限制了性能,比如服务器每秒最大能处
理五个请求,但是为了稳定我们肯定要设置小于五个的请求,突然来了的流量就只能存在桶里慢慢给服务
器,没办法用到服务器的性能上限

令牌桶限流算法

设置一个有上限的令牌桶,按固定的速率往令牌桶中放令牌,一个令牌对应一个请求,请求来了,先去令牌桶中拿到对应的令牌再带着令牌发送给服务器处理。这样如果突然来了一批请求,桶里面的令牌可能因为之前没什么请求有累积。

这样既有前面算法解决流量突刺问题的优点,又一定程度上增加了并发性能

缺点:还是要考虑放令牌的速率

标签:10,令牌,窗口,请求,算法,限流,四种
From: https://www.cnblogs.com/nicebaoke/p/18371402

相关文章

  • 【python】Python实现XGBoost算法的详细理论讲解与应用实战
    ✨✨欢迎大家来到景天科技苑✨✨......
  • 模幂运算-要求算法返回幂运算a^b的计算结果与1337取模后的结果
    题目:模幂运算-要求算法返回幂运算a^b的计算结果与1337取模后的结果其中b是一个非常大的数,所以b使用数组形式表示。即无法直接a^b%1337计算此类问题的关键需要分治,拆分成更小规模的计算1)对于a^b,如果b=1234,则a^1234=a^4*(a^123)^10即a^b可以拆分后递归运算2)对于取模运算,(a*b......
  • 桶排序算法及优化(java)
    目录1.1引言1.2桶排序的历史1.3桶排序的基本原理1.3.1工作流程1.3.2关键步骤1.4桶排序的Java实现1.4.1简单实现1.4.2优化实现1.4.3代码解释1.5桶排序的时间复杂度1.5.1分析1.5.2证明1.6桶排序的稳定性1.7著名案例1.7.1应用场景1.7.2具体案例1......
  • [Lgxの归纳] 动态规划算法
    参考文章:dp题方法总汇-YeahPotato组合问题选讲-command_block前言2023NOI大纲中,写明了动态规划入门算法为四级难度,属于CSP-J的考察范围。在联合省选2024中,D1T3/D2T1/D2T2,以及NOI2024中,D1T2/D2T2都以不同的形式考察了动态规划算法。甚至在IOI含金量最高......
  • KNN(K近邻)算法之——KD-Tree构建及查找原理
    0前言本文主要讲解KNN算法中用于快速检索最近元素的KD树的构建及查找原理。为了达到最佳阅读效果,请读者按照本文顺序阅读,文章使用了大量图片帮助读者理解。1背景1.1为什么要使用KD-Tree?k近邻法(KNN)最简单的实现方法是线性扫描。这时要计算输入实例与每一个训练实例的......
  • 「代码随想录算法训练营」第四十三天 | 图论 part1
    797.所有可能的路径题目链接:https://leetcode.cn/problems/all-paths-from-source-to-target/description/文章讲解:https://programmercarl.com/kamacoder/0098.所有可达路径.html题目难度:中等题目状态:看题解思路一:DFSvoiddfs(vector<vector<int>>&graph,intx,intn......
  • 莫队算法
    前言莫队是由莫涛提出的一种离线算法,是分块与双指针的结合,一般可以在\(O(n\sqrtn)\)或者\(O(n\sqrtm)\)的复杂度解决一些种类问题。普通莫队SP3267DQUERY-D-query给你一个长度为\(n\)的数列\(A\),\(m\)次询问,每次询问区间\([l,r]\)内的不同数字的个数。如果......
  • 淘客返利机器人的智能化实现:架构与算法
    淘客返利机器人的智能化实现:架构与算法大家好,我是阿可,微赚淘客系统及省赚客APP创始人,是个冬天不穿秋裤,天冷也要风度的程序猿!在电商领域,淘客返利机器人作为一种高效的营销工具,其智能化实现对于提升用户体验和增加用户粘性具有重要意义。本文将深入探讨淘客返利机器人的架构......
  • 基础数据结构——二分算法及时间复杂度
    这个算法的前提是,数组是升序排列的算法描述:i和j是指针可以表示查找范围m为中间值当目标值targat比m大时,设置查找范围在m右边:i=m-1当目标值targat比m小时,设置查找范围在m左边:j=m+1当targat的值等于m时,返回m的下标如果最终没找到就返回-1;算法实现:publicintbir......
  • SFR算法原理分析
    成像系统的解析力:摄像头最关键的指标之一。所有用户拿到一张照片的时候首选看到的是照片清楚不清楚,这里的清楚指的就是解析力。但是如果评价一个成像系统的解析力也是大家一直在探讨的问题。目前主流的办法主要有三种TVline检测、MTF检测以及FR检测。MTF:MTF是ModulationTransfer......