application.yaml and restarting the service.
Quickstart
Deploy the service and make your first rate-limited request in minutes.
Configuration
Set your algorithm, window size, max requests, and Redis connection.
Rate Limiting Concepts
Understand how per-user rate limiting works and when to apply it.
API Reference
Full reference for the
/check endpoint, parameters, and responses.How it works
Filter intercepts
RateLimiterFilter extracts the userId and calls the active rate-limiting algorithm before any controller logic runs.Atomic Redis check
A Lua script runs atomically on Redis — either incrementing a counter (Fixed Window) or pruning and counting a sorted set (Sliding Window).
Key features
Two algorithms
Choose Fixed Window for simplicity or Sliding Window for accurate rolling limits — switchable via config.
Atomic enforcement
Lua scripts execute atomically on Redis, preventing race conditions under high concurrency.
Per-user isolation
Each
userId gets its own Redis key and independent counter, ensuring fair limits across users.Observability built-in
Prometheus scrape endpoint and OTLP push to Grafana Cloud are configured out of the box.