软件系统限流的底层原理解析
小结:
1、
// FixedWindowCounter 结构体实现固定窗口计数器限流算法。
// mu 用于同步访问,保证并发安全。
// count 记录当前时间窗口内的请求数量。
// limit 是时间窗口内允许的最大请求数量。
// window 记录当前时间窗口的开始时间。
// duration 是时间窗口的持续时间。
type FixedWindowCounter struct {
mu sync.Mutex
count int
limit int
window time.Time
duration time.Duration
}
// SlidingWindowLimiter 结构体实现滑动窗口限流算法。
type SlidingWindowLimiter struct {
mutex sync.Mutex
counters []int
limit int
windowStart time.Time
windowDuration time.Duration
interval time.Duration
}
软件系统限流的底层原理解析 https://mp.weixin.qq.com/s/EJ68f40ebapdqKTgGOG8tw