Urgent.News

What's breaking now, across thousands of outlets.

Tech

How to Prevent Retry Storms in Microservices

Quick Answer: A retry storm occurs when deeply nested microservices independently retry failed downstream requests, causing exponential traffic amplification. If five services in a chain each retry three times upon failure, a single user click generates 243 requests against an already struggling database. Exponential backoff delays the traffic, but solving the issue requires retry budgets and…

Retry storms arise from heavily nested microservices independently retrying downstream requests, leading to traffic growth that can overwhelm systems. In a chain of five services, if each retries three times upon failure, a single client action can result in 243 concurrent requests against a struggling database. Exponential backoff with jitter delays traffic timing but fails to halt the surge.

Microservices offer isolation and scalability, yet they also create feedback loops that transform minor issues into major outages. The problem stems from standard resiliency defaults that allow independent retries, multiplying traffic exponentially. Exponential backoff and jitter adjust retry timing to avoid synchronized spikes but do not reduce the total request volume.

When multiple microservices each maintain their own backoff schedules, the amplified traffic remains, merely shifted in timing. To prevent retry multiplication, enforce request-level limits and fail fast. Retry budgets cap retry percentages relative to total traffic, cutting off excessive retries. Circuit breakers detect high error rates over a period, opening to halt calls and prevent further retries.

Restricting retries to specific layers, such as the edge or immediate database callers, also helps. Retry budgets limit retry traffic percentages, while circuit breakers open on high error thresholds, avoiding network calls and retries. Single-layer retries limit retries to critical layers. Microservices should only retry idempotent requests and specific transient errors, not non-idempotent operations or persistent errors.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

CORS Explained: Why Your API Requests Fail

You fetch an API from JavaScript and get a cryptic "blocked by CORS policy" error. Nothing in your code is wrong — it's the browser enforcing a security rule.

  • CORS is a web browser security feature regulating cross-origin resource access.
  • Simple requests include GET, POST, or HEAD methods with safe headers.
  • Servers must respond with correct CORS headers for preflight requests.

Building a pet-only meme video page: what the sample needs to prove

I built Bulin47 , a pet-only video project inspired by the Bulin 47 freestyle meme. The idea is deliberately narrow: use one authorized pet photo to replace the lead performer in a fixed clip, keeping…

  • Bulin47 is a pet-only meme video project based on Bulin 47 freestyle
  • Video specifications: 19 seconds, vertical 9:16, 480p, original audio
  • Evaluation focuses on pet recognition, movement adherence, and consistency

I built a free site that shows where any movie or show streams in 60+ countries

I kept searching for a movie and finding out it wasn’t on anything where I live. Streaming catalogs change a lot by country, and most “where to watch” sites mainly cover the US.

  • FlickFinder website shows streaming locations for movies/shows in 60+ countries
  • Developed using TMDB data and AI assistance, free to use
  • Highlights country-specific availability differences, e.g. Unabomber on Netflix in 131 countries

More from Sunday 11 October →