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

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!

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.