限流算法

获取用户IP
静态算法包含令牌桶、漏桶、固定窗口和滑动窗口。这些算法就是要求研发人员提前设置好阈值。在算法运行期间它是不会管服务器的真实负载的。
动态算法也叫做自适应限流算法,典型的是 BBR 算法。这一类算法利用一系列指标来判定是否应该减少流量或者放大流量。动态算法和 TCP 的拥塞控制是非常接近的,只不过 TCP控制的是报文流,而微服务控制的是请求流量
令牌桶:系统会以一个恒定的速率产生令牌,这些令牌会放到一个桶里面,每个请求只有拿到了令牌才会被执行。将漏桶算法看作是令牌桶算法的一种特殊形态。你将令牌桶中桶的容量设想为 0,就是漏桶了。
漏桶:是指当请求以不均匀的速度到达服务器之后,限流器会以固定的速率转交给业务逻辑。漏桶是绝对均匀的,而令牌桶不是绝对均匀的。
固定窗口:固定窗口是指在一个固定时间段,只允许执行固定数量的请求。
滑动窗口:也是指在一个固定时间段内,只允许执行固定数量的请求。区别就在于,滑动窗口是平滑地挪动窗口,而不像固定窗口那样突然地挪动窗口。
BBR: 的原理和实现都很有难度,大多数微服务框架都没提供 BBR 的限流器实现。
notion image
notion image
Loading...
目录
文章列表
王小扬博客
AI
Java
其他
计算机网络
Git
DB
云原生
Node
Docker
操作系统
Elasticsearch
Apollo
Nestjs
产品
Think
大前端
PHP
软件开发
设计
生活技巧
CI
缓存