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

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!

BEWARE of Consumer Lag!

An essential aspect of Event-Driven Architecture is understanding how your system is performing (throughput). Everything is running smooth, and services are publishing and consuming events, and then out of nowhere, one service starts failing or has a significant decrease in throughput, which then causes havoc to your system. Let me explain some of those reasons and why having metrics and alarms will allow you to proactively make changes to keep everything running smoothly. YouTube Check out my YouTube channel, where I post all kinds of content accompanying my posts, including this video showing everything in this post. Consumer Lag / Queue Length… Read More »BEWARE of Consumer Lag!