How to Design Safe Retries in Microservices (No Duplicates, No Overload)

BazAI · Beginner ·🏗️ Systems Design & Architecture ·6mo ago

Key Takeaways

This video teaches how to design safe retries in microservices using the retry pattern in distributed systems

Full Transcript

Let's break down the retry pattern in distributed systems using this diagram. Whenever service A talks to service B over a network, a lot can go wrong at different points in the request response path. The request might never leave service A. It might get lost in the network or service B might crash right after receiving it. On the way back, the response might not be sent, might be lost or might reach the client in a malformed way and the client itself can also crash after the call. Now the key question is when should you actually retry? For connectivity issues like TCP timeouts or DNS lookup failures, the network is likely to recover quickly. So aggressive retries usually make sense. For throttling errors such as HTTP429, you must respect retry after headers or fall back to exponential backoff. Otherwise, you just overload the system more. When you see server faults like HTTP500 or 5003, use cautious retries with exponential backoff and stop if the failure persists because something is actually broken. But for client faults like HTTP 400 or 422, retrying is pointless since the business logic rejected the request and that won't change without fixing the input. A common antiattern is fixed back off. Here the client retries in constant intervals, say every second, which can cause synchronized waves of traffic that hammer an already unhealthy service. Instead, exponential backoff increases the delay between attempts, giving the downstream service more time to recover and smoothing out the retry load. You often combine exponential backoff with jitter, adding randomness to avoid thundering herds of retries hitting at the same time. Retries also raise a big question. What if the same request is processed twice? To keep things safe, you can use an item potency key approach. The client generates a unique key and sends it along with the request while the server and database store and check that key. If the same key comes in again, the server either returns the existing result or safely ignores the duplicate instead of inserting duplicate data. Finally, retries pair nicely with the circuit breaker pattern. A circuit breaker has three states: closed, open, and halfopen. In the closed state, calls flow as normal. If failures cross a threshold, it flips to open and immediately fails new calls without even hitting the broken dependency. After a cool down period, it moves to half open, allows a small number of test requests, and if those succeed, it closes again. If they fail, it goes back to open. By combining smart retry policies, exponential backoff, it impotency keys and circuit breakers, you can make distributed systems far more resilient to transient failures while avoiding overload and duplicate side effects.

Original Description

In this video, we walk through the retry pattern in distributed systems using a visual guide.​​ You will see where requests can fail between Service A, the network, and Service B, and when it actually makes sense to retry versus when you should fail fast.​​ Then we compare fixed backoff versus exponential backoff, and show why exponential backoff with jitter is the safer choice for avoiding thundering herds and overloaded services.​​ We also explain how idempotency keys keep operations like payments safe during retries, and how the circuit breaker pattern protects your microservices when a dependency is unhealthy.​​ If you like this type of system design breakdown, subscribe to Bazai for more short, high-signal engineering videos.​ Timestamps: 00:00 Intro 00:15 Failure points in request–response 01:00 When to retry and when not to 01:40 Fixed vs exponential backoff 02:15 Idempotency keys 02:40 Circuit breaker pattern
Watch on YouTube ↗ (saves to browser)
Sign in to unlock AI tutor explanation · ⚡30

Playlist

Playlist UUOthur5d9OxdqEh08Swtirw · BazAI · 7 of 49

1 How LLM Agents Actually Do Deep Research (Planning, Tools & Citations Explained
How LLM Agents Actually Do Deep Research (Planning, Tools & Citations Explained
BazAI
2 Kafka vs RabbitMQ Explained: Which One Should You Use?
Kafka vs RabbitMQ Explained: Which One Should You Use?
BazAI
3 #NOVER Explained: How AI Learns to Judge Its Own Reasoning (No Reward Model Needed)
#NOVER Explained: How AI Learns to Judge Its Own Reasoning (No Reward Model Needed)
BazAI
4 The State of Enterprise AI 2025: How Workers Save 60 Minutes Daily & Adoption Explodes 9X
The State of Enterprise AI 2025: How Workers Save 60 Minutes Daily & Adoption Explodes 9X
BazAI
5 NVIDIA Nemotron 3: 1M Context, Hybrid MoE Architecture, and Open Source AI Agents
NVIDIA Nemotron 3: 1M Context, Hybrid MoE Architecture, and Open Source AI Agents
BazAI
6 How Service Mesh Works: Data Plane, Control Plane & Observability
How Service Mesh Works: Data Plane, Control Plane & Observability
BazAI
How to Design Safe Retries in Microservices (No Duplicates, No Overload)
How to Design Safe Retries in Microservices (No Duplicates, No Overload)
BazAI
8 Step-GUI: The Self-Evolving AI Agent for Android & PC (SOTA Performance!)
Step-GUI: The Self-Evolving AI Agent for Android & PC (SOTA Performance!)
BazAI
9 NVIDIA's NitroGen: The First Generalist AI Trained to Play 1,000+ Games by Watching
NVIDIA's NitroGen: The First Generalist AI Trained to Play 1,000+ Games by Watching
BazAI
10 How AI Agents Remember: The Evolution of Agentic Memory (2025 Guide)
How AI Agents Remember: The Evolution of Agentic Memory (2025 Guide)
BazAI
11 Automate Your AI Data Pipelines: Introducing DataFlow & DataFlow-Agent
Automate Your AI Data Pipelines: Introducing DataFlow & DataFlow-Agent
BazAI
12 Nemotron 3 Explained: Hybrid Mamba + MoE for 1M Token Agents
Nemotron 3 Explained: Hybrid Mamba + MoE for 1M Token Agents
BazAI
13 Build Your Own AI Voice Agent (LangChain + OpenAI + AssemblyAI + Cartesia)
Build Your Own AI Voice Agent (LangChain + OpenAI + AssemblyAI + Cartesia)
BazAI
14 Langflow 1.7 Explained: CUGA, ALTK, MCP & the Death of Prompt Engineering
Langflow 1.7 Explained: CUGA, ALTK, MCP & the Death of Prompt Engineering
BazAI
15 HuatuoGPT-o1: The First Medical AI That "Thinks" Before It Answers
HuatuoGPT-o1: The First Medical AI That "Thinks" Before It Answers
BazAI
16 Molmo2: Open-Source Vision-Language Models with State-of-the-Art Video Grounding
Molmo2: Open-Source Vision-Language Models with State-of-the-Art Video Grounding
BazAI
17 MAI-UI: Alibaba’s New Foundation GUI Agents Outperforming Gemini & GPT-4o
MAI-UI: Alibaba’s New Foundation GUI Agents Outperforming Gemini & GPT-4o
BazAI
18 Seamless AI Object Insertion: Bridging 4D Geometry and Diffusion Models
Seamless AI Object Insertion: Bridging 4D Geometry and Diffusion Models
BazAI
19 5 AI Agentic Workflow Patterns-Reflection, Tools, ReAct, Planning, Multi‑Agent
5 AI Agentic Workflow Patterns-Reflection, Tools, ReAct, Planning, Multi‑Agent
BazAI
20 #NVIDIA's New #SurgWorld: How AI is Learning Autonomous Surgery
#NVIDIA's New #SurgWorld: How AI is Learning Autonomous Surgery
BazAI
21 CQRS Explained in 3 Minutes: How Modern Systems Scale Reads vs Writes
CQRS Explained in 3 Minutes: How Modern Systems Scale Reads vs Writes
BazAI
22 Docker Explained in 3 Minutes: How Containers Actually Work
Docker Explained in 3 Minutes: How Containers Actually Work
BazAI
23 6 Practical AWS Lambda Patterns in 3 Minutes (Real‑World Serverless Guide)
6 Practical AWS Lambda Patterns in 3 Minutes (Real‑World Serverless Guide)
BazAI
24 Containerization Explained in 3 Minutes: From Dockerfile to Running Containers
Containerization Explained in 3 Minutes: From Dockerfile to Running Containers
BazAI
25 Science Context Protocol (SCP)- Global Web of Autonomous Scientific Agents
Science Context Protocol (SCP)- Global Web of Autonomous Scientific Agents
BazAI
26 Youtu-Agent: Scaling LLM Agent Productivity via Automated Generation and Hybrid RL
Youtu-Agent: Scaling LLM Agent Productivity via Automated Generation and Hybrid RL
BazAI
27 #DeepSeek’s #mHC Breakthrough: Stabilizing Hyper-Connections for Large-Scale LLM Training
#DeepSeek’s #mHC Breakthrough: Stabilizing Hyper-Connections for Large-Scale LLM Training
BazAI
28 Message Brokers 101 in 3 Minutes: Queues, Pub‑Sub & Competing Consumers Explained
Message Brokers 101 in 3 Minutes: Queues, Pub‑Sub & Competing Consumers Explained
BazAI
29 Must‑Know Message Broker Patterns: Outbox, CQRS, Saga & More
Must‑Know Message Broker Patterns: Outbox, CQRS, Saga & More
BazAI
30 Confucius Code Agent-Scalable Scaffolding for Large-Scale Repositories
Confucius Code Agent-Scalable Scaffolding for Large-Scale Repositories
BazAI
31 #nvidia  Just Fixed #GRPO! Meet #GDPO: The New Standard for Multi-Reward RL
#nvidia Just Fixed #GRPO! Meet #GDPO: The New Standard for Multi-Reward RL
BazAI
32 NVIDIA Alpamayo-R1: Real-Time Reasoning for Level 4 Autonomy
NVIDIA Alpamayo-R1: Real-Time Reasoning for Level 4 Autonomy
BazAI
33 The Future of AI Memory: Meet #AtomMem’s Learnable CRUD System
The Future of AI Memory: Meet #AtomMem’s Learnable CRUD System
BazAI
34 Database Sharding Explained | Range vs Hash vs Directory Sharding
Database Sharding Explained | Range vs Hash vs Directory Sharding
BazAI
35 12 Architecture Concepts Every Developer Must Know | System Design Explained
12 Architecture Concepts Every Developer Must Know | System Design Explained
BazAI
36 5 Rate Limiting Strategies Explained | Protect Your System at Scale
5 Rate Limiting Strategies Explained | Protect Your System at Scale
BazAI
37 How Live Streaming Works | System Design Explained
How Live Streaming Works | System Design Explained
BazAI
38 5 Leader Election Algorithms Explained | Distributed Systems & Databases
5 Leader Election Algorithms Explained | Distributed Systems & Databases
BazAI
39 6 Prompting Techniques to Get Better Results from ChatGPT
6 Prompting Techniques to Get Better Results from ChatGPT
BazAI
40 Complete Guide to Storage Systems: RAM, SSD, SAN, Cloud & Databases
Complete Guide to Storage Systems: RAM, SSD, SAN, Cloud & Databases
BazAI
41 Top 4 Authentication Mechanisms Explained | SSH, OAuth, SSL & Passwords
Top 4 Authentication Mechanisms Explained | SSH, OAuth, SSL & Passwords
BazAI
42 Common Network Protocols Explained | TCP, UDP, HTTP, DNS & More
Common Network Protocols Explained | TCP, UDP, HTTP, DNS & More
BazAI
43 Microservices Best Practices | 9 Rules Every Architect Must Know
Microservices Best Practices | 9 Rules Every Architect Must Know
BazAI
44 8 Network Protocols Every Engineer Must Know | HTTP, TCP, UDP & More
8 Network Protocols Every Engineer Must Know | HTTP, TCP, UDP & More
BazAI
45 Distributed Systems in 3 Minutes: CDNs, APIs, TCP & Idempotency Explained
Distributed Systems in 3 Minutes: CDNs, APIs, TCP & Idempotency Explained
BazAI
46 Must‑Know Message Broker Patterns in 3 Minutes (Outbox, CQRS, Saga & More)
Must‑Know Message Broker Patterns in 3 Minutes (Outbox, CQRS, Saga & More)
BazAI
47 Is OpenClaw Safe? The "Security Nightmare" Behind the Viral AI Agent
Is OpenClaw Safe? The "Security Nightmare" Behind the Viral AI Agent
BazAI
48 JWT vs Sessions vs PASETO — Which Authentication Should You Use?
JWT vs Sessions vs PASETO — Which Authentication Should You Use?
BazAI
49 Recursive LLMs vs Big Context Windows: Why RLM Wins
Recursive LLMs vs Big Context Windows: Why RLM Wins
BazAI

Related Reads

📰
What if your software could explain its own outages?
Learn how the Cognitive Autonomic Framework (CAF) enables self-healing distributed systems to explain their own outages
Medium · Python
📰
What if your software could explain its own outages?
Learn about the Cognitive Autonomic Framework (CAF) for building self-healing distributed systems that can explain their own outages
Medium · LLM
📰
I Thought I Wanted System-Wide Vim. I Actually Wanted Arrow Keys on the Home Row
Discover how using arrow keys on the home row can improve typing efficiency and why system-wide Vim might not be the ultimate solution
Dev.to · Naveen
📰
Catch PCB defects before ordering
Learn to catch PCB defects before ordering using a preflight check tool that verifies Gerbers, BOMs, and assembly risks
Dev.to · Demi Valerith

Chapters (6)

Intro
0:15 Failure points in request–response
1:00 When to retry and when not to
1:40 Fixed vs exponential backoff
2:15 Idempotency keys
2:40 Circuit breaker pattern
Up next
9-Step Software Architect Roadmap 2026 | System Design | #shorts
SCALER
Watch →