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

REST APIs for Microservices? Beware!

Are you using REST APIs for a Microservices architecture? If you’re using REST, HTTP APIs, gRPC, or any other Request/Response model as the primary way to communicate between microservices, you’re going to need to deal with possibly hard to debug latency issues and address availability concerns. YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything that is in this post. In-Process Single Transaction First, let’s take a step back and talk about a monolith. When in a monolith, you’d typically have a single process communicating with your database. If… Read More »REST APIs for Microservices? Beware!

Messaging Commands & Events Explained!

In service oriented architecture (including microservices) that leverage messaging, you’re going to run into both types of messages: Commands & Events. What’s the difference between Commands & Events? When should you use a command and when should use an event? YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything that is in this post. What’s a Command? Commands are messages with the intent to change the state of the system. They are actions to be performed that have side effects. They may be created by an end-user… Read More »Messaging Commands & Events Explained!

Event Choreography & Orchestration (Sagas)

How do you handle business processes and workflows in an asynchronous event-driven architecture? You can use event choreography and orchestration with compensating actions to overcome the lack of distributed transactions or two-phase commits in a distributed system. Here’s how Event Choreography & Orchestration work and examples using NServiceBus. YouTube Check out my YouTube channel where I post all kinds of content that accompanies my posts including this video showing everything that is in this post. Saga Event Choreography Choreography is driven by events from the various services within a system. Each service consumes events, performs an action, and publishes events.… Read More »Event Choreography & Orchestration (Sagas)