awesome-repositories.com
Blog
MCP
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jhurliman avatar

jhurliman/node-rate-limiter

0
View on GitHub↗
1,561 estrellas·134 forks·TypeScript·MIT·1 vista

Node Rate Limiter

Node-rate-limiter is a utility library for Node.js designed to throttle both incoming and outgoing traffic using configurable time intervals and token bucket limits. It protects server capacity and backend APIs by capping the number of requests an individual client can make within a specified time window, while also controlling the frequency of outbound API calls and web crawling tasks to avoid triggering remote rate limit violations.

The library implements a token-bucket rate limiting algorithm with continuous replenishment, allowing administrators to configure specific burst and drip rates. This enables short surges of traffic while maintaining a steady long-term throughput capacity. It calculates request permissions dynamically against sliding or fixed time intervals to enforce strict usage quotas.

State management is handled locally in memory for synchronous lookups during request validation. The engine also provides non-consuming inspection methods that allow callers to check remaining token counts and allowance thresholds without mutating the underlying rate limit state, supporting conditional execution decisions based on limits.

Features

  • Token Bucket Throttlers - Implements a token bucket rate limiting algorithm with continuous replenishment to cap long-term throughput.
  • Rate Limiters - Provides a Node.js utility for throttling incoming and outgoing traffic using time intervals and token buckets.
  • Traffic Burst Management - Allows configuring specific burst and drip rates to permit short surges of traffic while maintaining steady throughput.
  • Per-Client Request Throttlers - Caps how many requests an individual client can make within a specified time window to protect server capacity.
  • Request Throttling - Controls the frequency of outbound API calls and web crawling tasks to prevent remote rate limit violations.
  • Time-Windowed Limits - Calculates request permissions dynamically over sliding or fixed time windows to enforce strict usage quotas.
  • Middleware Rate Limiters - Provides rate limiting middleware that protects server capacity by capping client requests within time windows.
  • API Rate Limiting - Protects backend servers and Node.js APIs from overload by capping incoming request volume within time windows.
  • In-Memory State Management - Maintains client token counts and timestamps in volatile memory for fast synchronous lookups during request validation.
  • Outgoing Throttling - Controls outbound traffic frequency for API requests and web crawling tasks to avoid rate limit errors.
  • State Inspections - Provides accessor methods to check remaining allowance thresholds without mutating the underlying rate limit state.
  • Token Capacity Checks - Allows callers to inspect remaining token counts and thresholds without consuming tokens.

Historial de estrellas

Gráfico del historial de estrellas de jhurliman/node-rate-limiterGráfico del historial de estrellas de jhurliman/node-rate-limiter

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Colecciones destacadas con Node Rate Limiter

Colecciones seleccionadas manualmente donde aparece Node Rate Limiter.
  • Flow control patterns

Alternativas open-source a Node Rate Limiter

Proyectos open-source similares, clasificados según cuántas características comparten con Node Rate Limiter.
  • kickstarter/rack-attackAvatar de kickstarter

    kickstarter/rack-attack

    5,744Ver en GitHub↗

    This project is a Rack middleware rate limiter and application layer firewall for Ruby web applications. It serves as a security layer to throttle and block HTTP requests based on custom rules, protecting web servers from abusive traffic. The system provides capabilities for IP blocking and the banning of malicious clients. It implements request safelisting to bypass restrictions for trusted users and uses time-windowed rate limiting to control request frequency. The middleware covers traffic management and monitoring, including the ability to track request patterns and instrument traffic ev

    Ruby
    Ver en GitHub↗5,744
  • rack/rack-attackAvatar de rack

    rack/rack-attack

    5,746Ver en GitHub↗

    Rack-attack is a middleware rate limiter and request filter for the Rack interface. It provides a system for throttling HTTP requests and maintaining IP address blocklists to protect applications from malicious traffic and denial-of-service attacks. The project enables application layer DDoS mitigation and API rate limit management by identifying and rejecting requests from banned clients or abusive IP addresses. It allows for the definition of safelists to bypass filters and uses custom logic to determine if a client should be blocked or throttled. The tool covers comprehensive traffic mana

    Rubyrackrack-attackrack-middleware
    Ver en GitHub↗5,746
  • express-rate-limit/express-rate-limitAvatar de express-rate-limit

    express-rate-limit/express-rate-limit

    3,265Ver en GitHub↗

    This project is a middleware for the Express web framework designed to restrict request frequency and protect server capacity. It functions as a traffic throttler that intercepts incoming requests to evaluate and enforce limits based on client identity within defined time windows. The system distinguishes itself through a pluggable data store pattern that allows for distributed rate limiting. By delegating hit count storage to external databases, it ensures consistent request tracking across multiple server instances and maintains state across process restarts. The library provides comprehen

    TypeScriptapiexpressexpress-js
    Ver en GitHub↗3,265
  • hu17889/go_spiderAvatar de hu17889

    hu17889/go_spider

    1,821Ver en GitHub↗

    Go Spider is a modular framework designed for building concurrent web scrapers and data extraction workflows. It provides a structured engine for orchestrating automated crawling tasks, managing request scheduling, and processing web content through a unified pipeline. The framework distinguishes itself through a highly configurable architecture that allows developers to inject custom logic for downloaders, schedulers, and storage components via interface-driven contracts. It manages network interactions using middleware-based request throttling and URL deduplication, ensuring that crawling o

    Gocrawlergopipeline
    Ver en GitHub↗1,821
Ver las 30 alternativas a Node Rate Limiter→

Preguntas frecuentes

¿Qué hace jhurliman/node-rate-limiter?

Node-rate-limiter is a utility library for Node.js designed to throttle both incoming and outgoing traffic using configurable time intervals and token bucket limits. It protects server capacity and backend APIs by capping the number of requests an individual client can make within a specified time window, while also controlling the frequency of outbound API calls and web crawling tasks to avoid triggering remote rate limit violations.

¿Cuáles son las características principales de jhurliman/node-rate-limiter?

Las características principales de jhurliman/node-rate-limiter son: Token Bucket Throttlers, Rate Limiters, Traffic Burst Management, Per-Client Request Throttlers, Request Throttling, Time-Windowed Limits, Middleware Rate Limiters, API Rate Limiting.

¿Qué alternativas de código abierto existen para jhurliman/node-rate-limiter?

Las alternativas de código abierto para jhurliman/node-rate-limiter incluyen: kickstarter/rack-attack — This project is a Rack middleware rate limiter and application layer firewall for Ruby web applications. It serves as… rack/rack-attack — Rack-attack is a middleware rate limiter and request filter for the Rack interface. It provides a system for… express-rate-limit/express-rate-limit — This project is a middleware for the Express web framework designed to restrict request frequency and protect server… hu17889/go_spider — Go Spider is a modular framework designed for building concurrent web scrapers and data extraction workflows. It… thinkany-ai/rag-search — This project provides a search service designed to retrieve and rerank web content for use in large language model… jimmylv/bibigpt — BibiGPT v1 · one-Click AI Summary for Audio/Video & Chat with Learning Content: Bilibili | YouTube |…