Module · Backend Engineer
Queues & Async Work
Move the slow work off the request path - and survive the message arriving twice.
TOPIC 01
Queue & Consumer Design
Topics, partitions and the consumer group that does the work.
What you'll practice
- Design the Topic Layout — guided · beginner
- Size the Consumer Group — practice · intermediate
A command you'll meet
cat ~/backend/queues/consumer.yamlOne consumer per partition is the rule that decides your throughput. Open the task below for the full walkthrough.
Hands-On Tasks in This Topic (2)
Design the Topic Layout
Topics are contracts with your own future self. Write the layout for the order events, with the key that keeps them ordered.
Size the Consumer Group
Consumers within a group split the partitions, and each partition is handled by exactly one of them. Write the consumer configuration.
TOPIC 02
Failure Handling
Retries, dead letters and the deduplication that makes a redelivery harmless.
What you'll practice
- Retry, Then Give Up — practice · intermediate
- Make the Consumer Idempotent — challenge · advanced
A command you'll meet
cat ~/backend/queues/retry-policy.yamlA message that fails forever is worse than one that fails once. Open the task below for the full walkthrough.
Hands-On Tasks in This Topic (2)
Retry, Then Give Up
Transient failures deserve another attempt, real failures do not. Write the policy that decides which is which and where the exhausted messages go.
Make the Consumer Idempotent
The broker will send the message twice, and it is not a bug. Write the strategy that makes the second delivery a no-op.