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

Derek Comartin

Avoiding a QUEUE Backlog Disaster with Backpressure & Flow Control

I advocate a lot for asynchronous messaging. It can add reliability, temporal decoupling, and much more. But what are some of the challenges? One of them is backpressure and flow control. This occurs when you’re producing more messages can you can consume. Meaning you’re piling up messages in your queue and you can never catch up. The queue just keeps growing. YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything in this post. Producers and Consumers Producers send messages to a broker/queue and a Consumer processes those messages. For… Read More »Avoiding a QUEUE Backlog Disaster with Backpressure & Flow Control

Is an ANEMIC Domain Model really that BAD?

Is an anemic domain model a bad thing? Most would probably call it an anti-pattern, and it should be avoided. But is that really true? Well, it depends on what your intent is. Are you trying to create a domain model? Or are you really just trying to create a data model? YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything in this post. Example In this post, I’m going to be using the example of a food delivery service. You order food from the restaurant and it’s delivered… Read More »Is an ANEMIC Domain Model really that BAD?

Message Ordering in Pub/Sub or Queues

Do you need message ordering? Processing messages in order as they were sent/published to a queue or topic sounds simple but has some implications. What happens when processing a message fails? What happens to all subsequent messages? How is throughput handled when using the competing consumers’ pattern, which loses the guarantee processing in order. Lastly, is ordering even important? YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything in this post. Message Ordering What are some reasons that most people think they need to process messages in a particular… Read More »Message Ordering in Pub/Sub or Queues