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

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektMCP-ServerÜber unsRanking-MethodikPresse
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
jhurliman avatar

jhurliman/node-rate-limiter

0
View on GitHub↗
1,561 Stars·134 Forks·TypeScript·MIT·6 Aufrufe

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.

Star-Verlauf

Star-Verlauf für jhurliman/node-rate-limiterStar-Verlauf für jhurliman/node-rate-limiter

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Kuratierte Suchen mit Node Rate Limiter

Handverlesene Sammlungen, in denen Node Rate Limiter vorkommt.
  • Flow control patterns

Häufig gestellte Fragen

Was macht 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.

Was sind die Hauptfunktionen von jhurliman/node-rate-limiter?

Die Hauptfunktionen von jhurliman/node-rate-limiter sind: Token Bucket Throttlers, Rate Limiters, Traffic Burst Management, Per-Client Request Throttlers, Request Throttling, Time-Windowed Limits, Middleware Rate Limiters, API Rate Limiting.

Welche Open-Source-Alternativen gibt es zu jhurliman/node-rate-limiter?

Open-Source-Alternativen zu jhurliman/node-rate-limiter sind unter anderem: 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 |…

Open-Source-Alternativen zu Node Rate Limiter

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Node Rate Limiter.
  • kickstarter/rack-attackAvatar von kickstarter

    kickstarter/rack-attack

    5,744Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,744
  • rack/rack-attackAvatar von rack

    rack/rack-attack

    5,746Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗5,746
  • express-rate-limit/express-rate-limitAvatar von express-rate-limit

    express-rate-limit/express-rate-limit

    3,265Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗3,265
  • hu17889/go_spiderAvatar von hu17889

    hu17889/go_spider

    1,821Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗1,821
Alle 30 Alternativen zu Node Rate Limiter anzeigen→