api-rate-limiting
仓库创建 2025年11月8日最近提交 29 天前SkillHot 收录 22 天前
▸ 精选理由
提供实用算法对比与实现,适合保护公开接口与分级访问策略。
▸ 风险提示
可能依赖外部存储(如 Redis)并需修改运行时中间件配置。
这个 Skill 做什么
实现多种限流算法(令牌桶、滑动窗、固定窗),并支持 Redis 后端。
在 API 前端加保护,提供令牌桶、滑动窗、固定窗等限流算法,并可用 Redis 做后端存储。常用于保护公开接口、防止滥用或实现按层级的访问配额(如免费/付费用户)。亮点是支持按用户/按端点策略、多种算法可选,便于在不同场景权衡准确性与性能。
▸ 展开 SKILL.md 英文原文
Implements API rate limiting using token bucket, sliding window, and Redis-based algorithms to protect against abuse. Use when securing public APIs, implementing tiered access, or preventing denial-of-service attacks.
180
Stars
28
Forks
40
仓库内 Skill
+0
7 日增星
安装 / 使用
给你的 Agent 一句话(通用)
帮我安装这个 skill:https://raw.githubusercontent.com/secondsky/claude-skills/main/plugins/api-rate-limiting/skills/api-rate-limiting/SKILL.md或 curl 直取 SKILL.md
curl -fsSL "https://raw.githubusercontent.com/secondsky/claude-skills/main/plugins/api-rate-limiting/skills/api-rate-limiting/SKILL.md"SKILL.MD 节选查看完整文件 ↗
# API Rate Limiting
Protect APIs from abuse using rate limiting algorithms with per-user and per-endpoint strategies.
## Algorithms
| Algorithm | Pros | Cons |
|-----------|------|------|
| Token Bucket | Handles bursts, smooth | Memory per user |
| Sliding Window | Accurate | Memory intensive |
| Fixed Window | Simple | Boundary spikes |
## Token Bucket (Node.js)
```javascript
class TokenBucket {
constructor(capacity, refillRate) {
this.capacity = capacity;
this.tokens = capacity;
this.refillRate = refillRate; // tokens per second
this.lastRefill = Date.now();
}
consume() {
this.refill();
if (this.tokens >= 1) {
this.tokens--;
return true;
via SKILL·HOT · 数据来自 GitHub 公开信息 · 原文版权归作者所有