Skip to content
0:00 / 0:00

#outboxpattern#event-drivenarchitecture#idempotency

Why I Hate the Outbox Pattern

Vaughn Vernon

6.8K subscribers • 1 video on Hallway

YouTube
  • Recommended by 2 people: 2 in engineering communities.
  • Presented by Vaughn Vernon
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

15K views1 year ago2 recommendations

Software designDistributed systemsEvent-driven systems and messagingSoftware architectureConcurrency and parallelism

Vaughn Vernon explains the drawbacks of the transactional outbox pattern and proposes a better alternative for event-driven systems.

The Outbox pattern solves a set of problems while introducing others. Learn the ins and outs of Outbox and the better alternative. Please Like! ❤️ and Subscribe! 🔔 Thanks, it helps a lot. ::: Follow up ::: After watching, some have commented that what I recommend is just another Outbox "implementation" or that I don't understand the Outbox pattern. Please don't take my word for what the Outbox pattern is and that my alternative is absolutely not an Outbox. "A separate service is in charge of regularly scanning the outbox table for new events, sending them to Amazon SQS, and deleting them from the table if Amazon SQS responds successfully." docs.aws.amazon.com/prescriptive-guidance/latest/cloud-desig… --------------------------------------------------------------------------------------- 🛠 Vaughn Vernon | vaughnvernon.com/​ 💡 Kalele | kalele.io/​ ⚙️ IDDD Workshop | kalele.io/training/iddd/ 🗓 Upcoming Public Events | kalele.io/iddd-workshop/ 🟦🟨🟧🟪 Get our EventStorming cheat sheet: kalele.io/cheat-sheet-register/ 🟢 Ports and Adapters Architecture: Part 1: bit.ly/4fjYEtN Part 2: bit.ly/3Zzo8NW Part 3: bit.ly/4gke8PB ⁉️ DDD Today—Modeling Uncertainty: Modeling Uncertainty 📕 Implementing Domain-Driven Design (Red Book): bit.ly/4gxchqo 🌵 Strategic Monoliths and Microservices | bit.ly/3Vnqgqu 🟧 The Vaughn Vernon Signature Series | bit.ly/VVSignatureSeries

Why it's here

2 people recommend this

What people say. Recommended for understanding the trade-offs of the transactional outbox pattern and how to handle idempotency in event-driven systems.

u/andrewcairnsin r/softwarearchitecture • Recommends

On “How do you handle idempotency in event-driven systems?”

…a worker. That worker introduces at-least-once delivery. This changes what failure looks like. You no longer loose the publishing, so the event is never lost, but it can publish twice. But this means a consumer can receive an event twice, and it needs to deduplicate - and that's where the Inbox comes in. It's the same approach mentioned here: [video Regarding scale, this does work very well. Having used it for a long time in fintech, it's quite a common approach. Vaughn Vernon also did a nice video on why he hates the Outbox pattern, which you might find interesting: [video…

u/Street-Pilot6376in r/dotnet • Recommends

On “Is the Outbox pattern a necessary evil or just architectural nostalgia?”

Nothing wrong with the outbox pattern imo. You could have a look at this video if you are also considering event sourcing. link to this video