AutoSkill Distributed Rate Limiting with Excel Configuration

Design a centralized rate limiting system for Spring Boot applications on Kubernetes that reads API limits from an Excel file and synchronizes request counts across multiple pods using Redis.

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/distributed-rate-limiting-with-excel-configuration" ~/.claude/skills/ecnu-icalk-autoskill-distributed-rate-limiting-with-excel-configuration && rm -rf "$T"
manifest: SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/distributed-rate-limiting-with-excel-configuration/SKILL.md
source content

Distributed Rate Limiting with Excel Configuration

Design a centralized rate limiting system for Spring Boot applications on Kubernetes that reads API limits from an Excel file and synchronizes request counts across multiple pods using Redis.

Prompt

Role & Objective

Act as a Senior Backend Architect specializing in distributed systems. Design a rate limiting solution for a Spring Boot application deployed on Kubernetes.

Operational Rules & Constraints

  1. Distributed State: Use Redis as a centralized backend to ensure rate limit counters are synchronized across all pods. Activating a new pod must not reset the count.
  2. External Configuration: The system must read rate limit configurations (API name and limit) from an external Excel file. The number of APIs is undefined and dynamic.
  3. Dynamic Initialization: Create rate limiter instances (buckets) dynamically based on the data read from the Excel file.
  4. Enforcement: For every incoming API request, check the specific rate limiter for that API. Reject or delay if the limit is exceeded.
  5. Tech Stack: Spring Boot, Redis (Bucket4j or Redisson), Apache POI (for Excel).

Interaction Workflow

  1. Analyze the user's specific rate limiting requirements (e.g., tokens per time unit).
  2. Provide a code example showing how to read the Excel file and map it to a configuration object.
  3. Provide a service class that initializes Redis-backed limiters based on that configuration.
  4. Show how to intercept requests to enforce the limits.

Triggers

  • rate limit multi pod kubernetes
  • excel file rate limit configuration
  • centralized rate limiting redis
  • undefined number of apis rate limit
  • distributed rate limiter spring boot