Skip to main content

Webinar recording

Dealing with eventual consistency

At a basic level, you have eventual consistency when you read data that has been updated, but you can’t see that yet. In distributed systems, eventual consistency is inevitable. But how do you deal with eventual consistency in your system? How can you make it work?

Dealing with eventual consistency

As software architects we want to make our systems more scalable, performable, maintainable, understandable, or any other thing-able. We use infrastructure like Azure Service Bus or Service Fabric. Maybe we’ll introduce patterns like CQRS and Event Sourcing. Many of these choices introduce eventual consistency, but users expect immediate consistency. They don’t want to wait for “eventually”. They expect feedback now. There are, however, ways to work around this.

In this session, we’ll have a look at different patterns, both in the user interface and the back end, that give our users immediate feedback even though the back-end system is not. We’ll discuss how to solve the complexity of dealing with eventual consistency, without sacrificing decomposability or performance.

In this talk, Dennis will show you:

  • What eventual consistency is and why it doesn’t have to be a problem
  • How eventual consistency is introduced in almost every single system
  • Different ways to deal with eventual consistency, from easy to complex solutions
  • How to make the user believe there is no eventual consistency
  • Why it is not purely a developer problem and why the business should tag along
  • Some examples of how well-known domains solve the problem of eventual consistency

With this knowledge, you’ll be more confident with introducing new ways of thinking about and working with systems that don’t immediately provide a reply to the end-users. And how those systems work smarter and are more performant than before.

About Dennis van der Stelt

Dennis is a Software Architect who loves building distributed systems and the challenges they bring. To be better than the day before, he continuously searches for new ways to improve his knowledge on architecture and software development. What he learns he tries to share via numerous articles, presentations and posts on his blog.

Additional resources

Need help getting started?