Implement Exponential Backoff with Jitter for Reliable HTTP Retries
An application calls a third-party shipping API through HTTP. The developer must implement retries without overwhelming the remote system during partial outages. Which retry pattern is best?
Quick Answer
The correct choice is exponential backoff with jitter and a maximum retry limit because it progressively increases the delay between HTTP retries, preventing the client from overwhelming a third-party shipping API during partial outages. Jitter randomizes those delays to avoid the thundering herd problem, where multiple clients retry simultaneously and amplify server strain, while the maximum retry limit ensures the system stops retrying after a set number of attempts, preserving resources and enabling graceful degradation. On the Microsoft Azure Developer Associate AZ-204 exam, this pattern tests your understanding of resilient HTTP communication and transient fault handling, often appearing in scenarios involving external API calls or Azure services like Azure Functions and Logic Apps. A common trap is choosing simple fixed-interval retries, which ignore server recovery time and cause congestion. Memory tip: think “Back off, shake it off, then stop”—exponential backoff, jitter, and a max limit.
⚠ Common exam trap
It's easy for candidates to choose immediate infinite retries (Option A) thinking it ensures delivery, but they overlook the risk of overwhelming the remote system and violating rate limits, which is explicitly tested in the context of third-party API consumption.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
Exponential backoff with jitter and a maximum retry limit
Exponential backoff with jitter and a maximum retry limit is the best pattern because it progressively increases the delay between retries, preventing the client from overwhelming the third-party shipping API during partial outages. Jitter randomizes the delay to avoid thundering herd problems where multiple clients retry simultaneously, and the maximum retry limit ensures the system does not retry indefinitely, preserving resources and allowing for graceful degradation.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Immediate infinite retries
Why it's wrong here
Immediate infinite retries hammer the shipping API during partial outages, worsening the overload the scenario warns against. It is tempting because retrying immediately is the simplest loop to code, and it would suit a local, always-available resource where transient failures clear instantly and no backoff is needed.
- ✗
Retry only after restarting the application
Why it's wrong here
Restarting the application discards in-flight state and cannot retry the individual HTTP call, so transient shipping failures simply become permanent errors. It is tempting because restart-on-failure is a familiar operational habit, and it would be the right choice for recovering a crashed daemon or a wedged service, not a single request.
- ✓
Exponential backoff with jitter and a maximum retry limit
Why this is correct
Jittered exponential backoff spaces retries progressively while randomising timing, preventing synchronised retry storms from many clients. The maximum retry limit bounds total attempts, satisfying the requirement not to overwhelm the shipping API during partial outages.
- ✗
Disable all timeout settings
Why it's wrong here
Disabling timeouts lets a hung shipping API call block the thread indefinitely, so retries never trigger and capacity drains. It is tempting because removing timeouts appears to prevent premature aborts, and it would be correct for a long-running batch job with no interactive latency requirement.
Go deeper
Related to this question
About these practice questions
Courseiva writes every AZ-204 question from scratch — 883 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. Learn why practice questions differ from exam dumps →
Same concept, more angles
2 more ways this is tested on AZ-204
These questions test the same concept from different angles. Work through them to make sure you can recognise it however the exam phrases it.
Variation 1. An application calls a Service Bus topic through HTTP. The developer must implement retries without overwhelming the remote system during partial outages. Which retry pattern is best?
medium- A.Disable all timeout settings
- B.Immediate infinite retries
- C.Retry only after restarting the application
- ✓ D.Exponential backoff with jitter and a maximum retry limit
Why D: Exponential backoff with jitter and a maximum retry limit is the best pattern because it progressively increases the delay between retries, preventing the client from overwhelming the Service Bus topic during partial outages. The jitter randomizes the delay to avoid thundering herd problems, while the maximum retry limit ensures the system doesn't retry indefinitely, aligning with Azure's recommended retry guidance for HTTP-based calls to Service Bus.
Variation 2. An application calls a Event Grid event stream through HTTP. The developer must implement retries without overwhelming the remote system during partial outages. Which retry pattern is best?
medium- A.Immediate infinite retries
- B.Retry only after restarting the application
- C.Disable all timeout settings
- ✓ D.Exponential backoff with jitter and a maximum retry limit
Why D: Exponential backoff with jitter and a maximum retry limit is the best pattern because it prevents overwhelming the Event Grid endpoint during partial outages by progressively increasing wait times between retries, while jitter randomizes those intervals to avoid thundering herd problems. The maximum retry limit ensures the system does not retry indefinitely, aligning with Event Grid's own retry policy (which uses exponential backoff up to 30 minutes and a max of 30 retries for HTTP 5xx errors). This balances resilience with resource protection.
JA
Written by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This AZ-204 practice question is part of Courseiva's free Microsoft certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the AZ-204 exam.