Software DevelopmentAdvanced 3 to 5 hours

Design an Event-Driven Checkout Workflow

Architect a distributed transaction using the Saga pattern.

The Scenario

When a user clicks "Buy", 4 things must happen: 1. Deduct Inventory, 2. Charge Credit Card, 3. Generate Shipping Label, 4. Send Confirmation Email. If step 2 fails, step 1 must be reversed.

The Brief

Design an Event-Driven Architecture (EDA) to handle this checkout flow across 4 independent microservices. Explain how you will handle failures and rollbacks using the Saga pattern (Choreography or Orchestration).

Deliverables

  • An architectural diagram showing the event broker (e.g., Kafka or RabbitMQ) and the message topics
  • A detailed explanation of the "Compensating Transaction" if the credit card is declined after inventory was deducted
  • A defense of your choice between Event Choreography (decentralized) vs. Orchestration (central controller)

Submission Guidance

This is an advanced distributed systems problem. You cannot use a standard SQL database transaction (`BEGIN...COMMIT`) because the data lives in different microservices.

Submit Your Work

Your submission is graded against the rubric on the right. If you pass, you get a public Badge URL you can share on LinkedIn. There is no draft save, so work offline first and paste your finished response here.

This appears on your public Badge.

We'll email you the permanent link to your Badge so you never lose it. Not shown publicly.

0/20000 charactersMarkdown supported

One per line or comma separated. Up to 5 links.

Loading security check...

By submitting, you agree your submission text, name, and evaluation will appear on a public Badge URL.