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

Sidecar Pattern for Abstracting Common Concerns

What is the sidecar pattern? Applications and services often have generic concerns such as health checks, configuration, metrics, as well as how they communicate with each other either directly or through messaging. Services usually implement these using libraries or SDKs to handle these concerns. How can you share these concerns across all these services so you’re not implementing them in every service? The sidecar pattern and ambassador pattern might be a good fit to solve this problem. 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.… Read More »Sidecar Pattern for Abstracting Common Concerns

Event Sourcing Tips: Do’s and Don’ts

When people are getting into Event Sourcing, there are a few common questions that I often get or issues see people run into. CRUD Sourcing, Pre-mature optimization using Snapshots, and exposing your event streams for integration. Here are my top three Event Sourcing Tips to help you down the right path. 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. CRUD Sourcing My first event sourcing tip, which is probably the most common issue I see people run into when new to Event Sourcing is what… Read More »Event Sourcing Tips: Do’s and Don’ts

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