All blueprints

BLUEPRINT / QUEUES AND CONTROL

Rate limiting

Put a fair ceiling on work before the system becomes its own denial of service.

The shape

A rate limiter bounds work over time. It protects shared capacity from accidental bursts, noisy neighbors, and clients that retry too aggressively.

The useful question

Where does the limit live? A local counter is fast but differs across replicas. A shared counter is consistent but adds a dependency to the request path.

Stress test

Raise one client's request rate beyond its token budget. Watch the service return a deliberate rejection rather than letting the queue grow without bound.

Tradeoff

Token bucket permits a short burst while keeping a long term rate. Choose a burst size that reflects the real service capacity, not only an arbitrary number.

LIVE SYSTEM / REV 01

Read path under load

Operational
Live service architectureA client sends requests through a load balancer to two app servers, a cache, a database, and a queue. Increase traffic or select a node to inject a failure.HEALTHYClientHEALTHYLoad balancerHEALTHYApp server AHEALTHYApp server BHEALTHYCacheHEALTHYDatabaseHEALTHYQueueEDGE CLIENTSCOMPUTE POOLPERSISTENCE

36k requests per second are balanced across two app servers. The cache absorbs 82% of reads.

Playground · available soon