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

Event-Driven Architecture Issues & Challenges

Event-Driven architecture has a lot of benefits but comes at the cost of another set of problems. Some of the Event-Driven Architecture Issues are visibility in workflows and business processes, consistency, idempotency, and consumer lag. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Visibility While there are undeniable benefits, the trade-offs often lead to increased complexity. One of the primary Event-Driven Architecture issues faced is visibility, especially when using messaging for workflows. Let’s consider a scenario where a client places an order. This action sends a… Read More »Event-Driven Architecture Issues & Challenges

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?