An order service currently calls the email-notification service inline. Notification failures cause order failures. Decouple them.
Publishing to a message queue moves slow work (email delivery, thumbnail generation, analytics) off the request path — the producer returns immediately after enqueueing, and a worker processes at its own pace. The double benefit: the user gets a response in milliseconds even if the task takes seconds, and the queue absorbs traffic spikes without bringing down the service. Use it for tasks that can complete asynchronously without the caller needing the result; avoid it when the outcome of the operation must be known before responding to the client.
Evaluation criteria and weights will be revealed after you submit your solution. This ensures a fair assessment of your design skills.
Draw your architecture diagram, explain your design decisions, and get AI-powered feedback.
For the best experience, design challenges on a desktop or tablet — drawing the architecture on a phone is hard.