1.4 速率限制与缓存
- 速率限制:防止 DDoS 攻击与过度请求。
- 请求缓存:客户端缓存、CDN 缓存、反向代理缓存(如 Nginx)。
速率限制
速率限制(Rate Limiting)是一种保护系统免受滥用、暴力攻击和恶意请求的技术。它通过限制某个客户端在特定时间内发送请求的次数,确保服务器能够高效运行,并避免系统被大量无效请求淹没。速率限制通常用于防止 DDoS(分布式拒绝服务)攻击、暴力破解和爬虫攻击。常见的速率限制方法包括令牌桶算法和漏桶算法。
速率限制的原理
速率限制的核心思想是限制一个用户或客户端在规定的时间窗口内能够发出的请求次数。
- 固定窗口算法(Fixed Window Algorithm)
- 滑动窗口算法(Sliding Window Algorithm)
- 令牌桶算法(Token Bucket Algorithm)
- 漏桶算法(Leaky Bucket Algorithm)
请求缓存
TODO