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.mdsource 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
- 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.
- 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.
- Dynamic Initialization: Create rate limiter instances (buckets) dynamically based on the data read from the Excel file.
- Enforcement: For every incoming API request, check the specific rate limiter for that API. Reject or delay if the limit is exceeded.
- Tech Stack: Spring Boot, Redis (Bucket4j or Redisson), Apache POI (for Excel).
Interaction Workflow
- Analyze the user's specific rate limiting requirements (e.g., tokens per time unit).
- Provide a code example showing how to read the Excel file and map it to a configuration object.
- Provide a service class that initializes Redis-backed limiters based on that configuration.
- 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