All projects

backend apis

An event-driven order service

Two services that stay consistent without sharing a database.

advancedJava~40h

Why it matters

Microservice questions in interviews are really consistency questions. Having built an outbox means you can answer them from experience instead of from a blog post.

What you build

  • An order service publishing domain events
  • A consumer that stays consistent
  • The outbox pattern so a publish cannot be lost
  • Handling for duplicate and out-of-order delivery

If you want more

  • Add a saga for cancellation
  • Add schema versioning for events

Build it 5 steps

  • Build a second service that reacts to it

Material for the whole build

Shows you understand that distributed systems fail partially, and that you design for it rather than hoping.

Get a plan built around projects like this