Skip to content

Messaging

Domain Events Are NOT Your Public API

You finally did it. You stopped publishing CRUD events and started broadcasting domain events. Instead of publishing ShipmentStatusChanged, ShipmentUpdated, or EstimatedDeliveryDateChanged, you started publishing more meaningful domain events like DeliveryAttemptFailed, ETARecalculated, and ShipmentDelayed. And apparently that was supposed to be better, right? Wrong. YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this video showing everything in this post. You’re publishing domain events now rather than CRUD events. But you still feel all the pain when you need to change one of those events. You’re breaking consumers, sometimes consumers you didn’t even… Read More »Domain Events Are NOT Your Public API

Debugging Event-Driven Systems: 5 Problems Teams Create

A post on Medium was shared with me by a member of my channel. A team went all in on event-driven architecture, and now they feel like they can’t debug anything. I get it, debugging event-driven systems can seem challenging. But it’s not directly because of event-driven architecture. It’s because of their misunderstanding of it and how they were applying it. So let’s break down the five pain points they had, why they had that pain, and how you can avoid it. YouTube Check out my YouTube channel, where I post all kinds of content on Software Architecture & Design, including this… Read More »Debugging Event-Driven Systems: 5 Problems Teams Create

Distributed Systems Consistency: Mistake Nobody Warns You About!

One of the most common and very overlooked issues when writing a distributed system is consistency. You have one thing happening in one part of your system that triggers something else to happen in another part of the system, except it doesn’t happen, and that can be a nightmare to deal with. This is incredibly overlooked but incredibly common, so let’s jump into some code as an example. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Example Here’s a really simple sample example that I’m using… Read More »Distributed Systems Consistency: Mistake Nobody Warns You About!