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.

开发编程限流防护Redis通用
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 公开信息 · 原文版权归作者所有