# Rate Limiting

> A mechanism that caps how many requests a caller can make in a time window and rejects the excess.

Record: `architecture:rate-limiting`
Kind: mechanism
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: contextual
Scope: API, service, queue
Canonical: https://banes-lab.com/ontology#architecture-rate-limiting

Listed in [Architecture principles](https://banes-lab.com/api/records/architecture.md), after [Resource Utilization](https://banes-lab.com/records/architecture/resource-utilization.md) and before [Memory Efficiency](https://banes-lab.com/records/architecture/memory-efficiency.md).

## Repair

- Refactored by: Add Rate Limiter, Define Quotas
- Detected by: missing rate limiter on public/expensive endpoints
- Violated by: unlimited calls to constrained resource
- Measured by: limit hit rate, overload incidents
- Enforced by: API gateway/policy

## Requires

- [Quota Policy](https://banes-lab.com/records/lexicon/quota-policy.md)

## Reinforces

- [Backpressure](https://banes-lab.com/records/architecture/backpressure.md)
- [Security](https://banes-lab.com/records/lexicon/security.md)

## Enables

- [Abuse/Overload Protection](https://banes-lab.com/records/lexicon/abuse-overload-protection.md)

## Conflicts with

- [Unbounded Access](https://banes-lab.com/records/lexicon/unbounded-access.md)

## In tension with

- [User Experience](https://banes-lab.com/records/lexicon/user-experience.md)

## Tensions

- [Rate Limiting / User Experience](https://banes-lab.com/records/tension/rate-limiting-user-experience.md)

## Severity

- [contextual](https://banes-lab.com/records/vocabulary/severity-contextual.md)

## Category

- [Scalability / Performance / Optimization](https://banes-lab.com/records/architecture-category/scalability-performance-optimization.md)

## Linked from

- [Error Handling / Resilience](https://banes-lab.com/ontology/principles/architecture-category-error-handling-resilience.md)
- [Quality Attributes](https://banes-lab.com/ontology/lexicon/lexicon-category-quality-attributes.md)
- [Scalability / Performance / Optimization](https://banes-lab.com/ontology/lexicon/lexicon-category-scalability-performance-optimization.md)
- [Severity levels](https://banes-lab.com/ontology/schema/the-vocabulary-severity.md)
- [The resolutions](https://banes-lab.com/ontology/schema/the-resolutions.md)
