Hermes Wiki

RetriesBackoff

Retrying failed calls with exponential backoff (+ jitter) instead of hammering a struggling dependency.

Why we need this / what value this brings

Blindly retrying immediately can turn a brief blip in a dependency into a self-inflicted overload (a retry storm).

When to use this

Any call to a dependency that can fail transiently (network hiccup, momentary unavailability).

How to use or implement this

Retry with exponential backoff and jitter, cap the number of attempts, and only retry errors that are actually retryable (not e.g. a 400 validation error).

Research questions

  • Which outbound calls (payment provider, email/SMS) currently retry, and with what backoff strategy?

Empty folder — drop notes, links, and findings here as you research.

Hermes Wiki