Skip to content

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Follow @CodeOpinion

Messaging

Events are an API. Treat them like one.

Events are an API in an Event-Driven Architecture. Treat them that way. Often, events are thought of as either domain events or integration events. But there’s more of a distinction to be made. Here’s a slightly different way of thinking about events that can impact your system long-term using an Event-Driven Architecture. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Domain vs Integration I think the most common distinction people make if they are making a distinction, is between domain and integration events. Domain events are… Read More »Events are an API. Treat them like one.

Listen to yourself pattern: Is it an alternative to the Outbox Pattern?

So, you need consistency between making state changes to your database and publishing events to a message broker for other services to consume. A common pattern to handle this situation is the Outbox Pattern, but another pattern called Listen to Yourself tries to solve the consistency issue. Does it work? Well lets find out. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Problem: Consistency Here’s the problem. A possible consistency problem exists because you’re interacting and trying to perform two non-atomic operations. You need to save… Read More »Listen to yourself pattern: Is it an alternative to the Outbox Pattern?

Path to Event-Driven Architecture. Start capturing INTENT!

CRUD (Create Read Update Delete) needs to burn in a tire fire. While it seems simple, it often leads to a spaghetti code mess of complexity in a large system. Start being explicit and capturing intent. Once you do this, the floodgates open possibilities for extending your system by following the path to event-driven architecture. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. CRUD Create, Read, Update, Delete (CRUD) is pretty common. Generally, it’s just simple forms to add data to a database and provide a… Read More »Path to Event-Driven Architecture. Start capturing INTENT!