proomt

Search

Search posts, papers, and topics

All posts

Hacker News front page12 min readintermediate

How Uber Protects Against Retry Storms

Summary

Uber developed a context-aware mechanism to prevent retry storms in deep microservice dependency chains. It introduces "error ownership" where services claim errors they originate and unclaim errors they propagate, allowing upstream callers to make informed retry decisions and avoid amplifying load on already struggling services.

  • Retry storms amplify load exponentially in deep call chains, even with retry budgets.
  • Uber's solution establishes "error ownership" to differentiate between errors a service causes and those it merely propagates.
  • Error ownership is determined by correlating inbound and outbound failures using a Service Dependency Analysis Solution.
  • Callers only retry if the downstream service explicitly claims the error, preventing unnecessary retries for propagated errors.

Engineers operating large-scale microservice architectures with deep dependency graphs should care about this approach to prevent cascading failures and improve system reliability during partial outages.

7/10

Related reading

  1. Worker Backpressure (Part 1)

    Canva added a lightweight, local backpressure loop to its queue worker library that monitors per‑message success/failure, computes a backoff factor against a configurable failure‑rate set‑point, and throttles the worker’s concurrency. In two real incidents the mechanism kept failure rates under 2 % fleet‑wide, limited DLQ growth to a handful of messages, and maintained throughput without manual i…

    Canvacanva.dev10 min
  2. Why Releasing Software as an Application Beats Deploying Components

    This article argues that independent microservice deployments, while seemingly fast, often lead to complex and fragile releases due to environment drift and implicit dependencies. It advocates for "application-level releasing," where a consistent, validated snapshot of interdependent components is promoted together across environments to restore predictability and stability.

    Codeshipcloudbees.com5 min
  3. How to operate shared platforms safely at agent scale

    Datadog explains how scaling AI agents turns isolated executions into shared‑platform risk and outlines a systematic approach to model agent trajectories, monitor per‑dependency constraints, and enforce workload‑specific capacity policies. The result is proactive detection of bottlenecks and protection against noisy‑neighbor failures.

    Datadogdatadoghq.com11 min