/plushcap/analysis/ambassador/ambassador-rate-limiting-a-useful-tool-with-distributed-systems

Part 1: Rate Limiting: A Useful Tool with Distributed Systems

What's this blog post about?

Rate limiting is a technique used to control the rate of operations initiated or consumed, or traffic sent or received. It is primarily implemented for three reasons: denial of service prevention, cascading failure limitation, and resource usage restriction or metering. Implementation options include controlling the rate at the source (initiator/sender), sink (consumer/receiver), using middleware like queues or proxies, or offloading to an external service. Tradeoffs to consider include handling capabilities of sources and sinks, failure modes of middleware, and algorithm flexibility. Examples of rate limiting implementation include running a task that calls a third-party SDK with call limits or metered charges, and offering a public API. Rate limiting can be implemented in microservices or cloud-based applications using application code, sidecar proxies like Envoy, or API gateways like Edge Stack.

Company
Ambassador

Date published
April 26, 2018

Author(s)
-

Word count
1417

Language
English

Hacker News points
None found.


By Matt Makai. 2021-2024.