Overview
Direct Answer
Rate limiting is a control mechanism that restricts the number or frequency of requests a client can submit to an API or service within a defined time window. It prevents resource exhaustion and ensures fair access by enforcing quotas on client behaviour.
How It Works
The mechanism typically employs algorithms such as token bucket or sliding window to track request counts against a time-based threshold. When a client exceeds the permitted quota, subsequent requests are either rejected with a 429 status code, queued for later processing, or throttled with increased latency. State is maintained server-side or distributed across infrastructure to enforce limits consistently.
Why It Matters
Organisations deploy this technique to protect backend infrastructure from overload, control operational costs associated with compute and bandwidth, and maintain service availability for all users. It is critical for preventing denial-of-service conditions and enabling predictable resource consumption in multi-tenant environments.
Common Applications
Public APIs from cloud providers, payment processors, and social media platforms implement tiered limits based on subscription levels. Web services use it to manage database query loads, whilst mobile applications throttle background synchronisation to preserve bandwidth and battery efficiency.
Key Considerations
Determining appropriate thresholds requires balancing legitimate user needs against infrastructure capacity; overly restrictive limits degrade experience, whilst lenient settings provide insufficient protection. Clients must implement retry logic with exponential backoff to handle rejection gracefully.
Cross-References(1)
Referenced By1 term mentions Rate Limiting
Other entries in the wiki whose definition references Rate Limiting — useful for understanding how this concept connects across Software Engineering and adjacent domains.
More in Software Engineering
Continuous Delivery
Development PracticesA software practice where code changes can be released to production at any time through automated pipelines.
Kanban
Paradigms & PatternsA visual workflow management method that limits work in progress and optimises the flow of tasks through a system.
Blue-Green Deployment
Paradigms & PatternsA deployment strategy using two identical production environments to achieve zero-downtime releases.
Load Testing
Quality & TestingTesting a system's behaviour under expected and peak load conditions to ensure adequate performance.
SOLID Principles
Paradigms & PatternsFive principles of object-oriented design promoting maintainable, flexible, and understandable code.
Queue System
Paradigms & PatternsA data structure and infrastructure for managing asynchronous task processing and inter-service communication.
Technical Documentation
Paradigms & PatternsWritten materials describing the architecture, design, APIs, and usage of software systems.
Stress Testing
Paradigms & PatternsTesting a system beyond normal operational capacity to determine its breaking point and failure behaviour.