Challenge - 5 Problems
Outbox Pattern Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate1:30remaining
What is the primary purpose of the Outbox pattern in microservices?
Choose the best explanation for why the Outbox pattern is used in microservices architecture.
Attempts:
2 left
💡 Hint
Think about how to guarantee event delivery even if the service crashes after a database update.
✗ Incorrect
The Outbox pattern stores events in the same database as the business data within the same transaction. This ensures events are not lost and can be reliably published after the transaction commits.
❓ Architecture
intermediate1:30remaining
Which component is responsible for reading and publishing events in the Outbox pattern?
In the Outbox pattern, after events are stored in the outbox table, which component typically reads and publishes these events to the message broker?
Attempts:
2 left
💡 Hint
Consider which part runs independently to send events after data changes.
✗ Incorrect
A background worker or event publisher service polls the outbox table and publishes events to the message broker, decoupling event publishing from the main transaction.
❓ scaling
advanced2:00remaining
How can the Outbox pattern be scaled to handle high event throughput?
Which approach best helps scale the Outbox pattern when the volume of events grows significantly?
Attempts:
2 left
💡 Hint
Think about dividing work and parallel processing.
✗ Incorrect
Partitioning the outbox table and running multiple workers allows parallel processing of events, improving throughput and reducing bottlenecks.
❓ tradeoff
advanced2:00remaining
What is a key tradeoff when using the Outbox pattern for event reliability?
Which statement best describes a common tradeoff when implementing the Outbox pattern?
Attempts:
2 left
💡 Hint
Consider what extra work the pattern adds and what benefit it provides.
✗ Incorrect
The Outbox pattern adds extra writes to the database and requires additional components to publish events, but it guarantees that events are consistent with the data state.
❓ estimation
expert2:30remaining
Estimate the storage impact of the Outbox pattern on a microservice database.
If a microservice processes 10,000 transactions per hour and each transaction generates 3 events stored in the outbox table, how many outbox records accumulate in 24 hours assuming events are published every hour and deleted after publishing?
Attempts:
2 left
💡 Hint
Calculate total events per hour and multiply by hours before deletion.
✗ Incorrect
Each hour, 10,000 transactions × 3 events = 30,000 events. Since events are published and deleted every hour, the outbox holds only one hour's worth of events, so 30,000 records.