OSS Ratelimit

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.