Introduction
Get a high-level overview of oss-ratelimit,key features (inspired by Upstash, enhanced flexibility), and why you should use it for rate limiting in Node.js & Next.js.
oss-ratelimit
is a feature-rich rate limiting library designed for performance and ease of use, heavily inspired by @upstash/ratelimit
. It provides multiple algorithms, efficient Redis integration, fallback mechanisms, and a powerful registry system for managing multiple limiter configurations.
Key Features:
- Multiple Algorithms: Fixed Window, Sliding Window, and Token Bucket.
- Redis Backend: Leverages Redis for distributed, high-performance state management.
- Client Registry: Efficiently manage multiple rate limiter instances and share Redis connections.
- Ephemeral Cache: Optional in-memory fallback during Redis outages (currently for Sliding Window).
- Fail Open/Closed: Configurable behavior during Redis failures.
- Analytics: Optional tracking of request counts and throughput.
- TypeScript First: Strongly typed for better developer experience.
- Next.js Ready: Includes utilities and patterns for seamless integration (IP detection, middleware).
- Customizable: Flexible configuration options for fine-tuning.