Eventual Consistency via Domain Events and Azure Service Bus

I’m going to start this article by explaining what Eventual Consistency is, how it compares to Transactional Consistency, and when we should consider designing a solution with this approach. Next we’re going to look at Domain Events, see what their role is in relation to eventual consistency and also how we can identify them in the domain language. Finally, based on a simple scenario, we’ll go through the implementation details of a proposed architecture, using Azure Service Bus messaging system.

Transactional vs Eventual

As the name implies it, eventual consistency is about being consistent, well, eventually. In this context eventually means at a later time. It’s easier to understand this concept when comparing it to transactional consistency, as in the following diagrams:

Read More

A Web API & Angular starter project using Azure AD Identity

Having worked on a few greenfield projects in the last couple of years I always found myself eager (and sometimes under pressure) to get a good grasp of the domain and start delivering business value from day one.

While this is an ideal scenario, in reality a good part of the first sprint is usually spent setting up the working environment and drafting a high level architecture. And although this how it should be (you don’t want to start coding without some planning), once an architectural and technological path for the project is agreed, I sometimes felt it would be helpful to be able to fast forward through the repetitive parts of this process, especially if it’s something already familiar and proved to be working.

Read More