Skip to content

A thundering herd occurs when many actors become ready at the same time and hit the same constrained resource.

Common triggers include cache expiry, service recovery, scheduled work, reconnect loops, and release of blocked workers.

flowchart LR
    Trigger[Shared trigger] --> A[Client A]
    Trigger --> B[Client B]
    Trigger --> C[Client C]
    Trigger --> D[Client D]
    A --> Dependency[Shared dependency]
    B --> Dependency
    C --> Dependency
    D --> Dependency

Load arrives as a sharp spike. Latency rises, queues grow, timeouts increase, and the dependency can fail again immediately after recovery.

Correlate request volume, cache misses, retries, queue depth, and dependency saturation around the same timestamp.

Spread work over time with jitter, request coalescing, staggered expiry, bounded concurrency, admission control, or single-flight behavior for shared cache fills.

Smoothing load can add latency for some callers. Coalescing requires care when requests are not truly equivalent.

  • Google. Site Reliability Engineering, “Addressing Cascading Failures.”