A retry storm

A three-second outage, five retries per request, four policies. Only one of them gets the server back.

From the essay “Retries are a load amplifier”
FIG. 1 — A RETRY STORM
Retry policy
offered 0/s · goodput 0/s · retries 0% · status: HEALTHY

Lost messages and lost acks

The sender can't tell a lost message from a lost acknowledgement. Count the double charges.

From the essay “Exactly-once is a promise you make to a person”
FIG. 2 — LOST ACKS, DUPLICATE CHARGES
Behaviour
attempts 0 · applied 0 · duplicates 0 · lost 0 · deduped 0

Running…

The detection trade-off

Pick a timeout. Every setting trades false alarms for detection time.

From the essay “Dead or just slow?”
FIG. 3 — DETECTION VERSUS FALSE ALARMS
Detector
Network jitter
false alarms 0 · detection +0.00 s

Utilization vs waiting

Push utilization past 90 % and watch the wait. Then bound the queue.

From the essay “A queue is a promise to be slow later”
FIG. 4 — THE WAIT BEFORE THE WORK
Speed
utilization 0 % · mean wait 0.0 s · p99 0.0 s · queued 0 · rejected 0