Bernd Rücker
Passionate about developer-friendly
workflow automation technology.


Lost in transaction?
Strategies to manage consistency in distributed systems

You probably work on a distributed system. Even if you don't yet face a serverless microservice architecture using fancy NoSQL databases, you might simply call some remote services via REST or SOAP. This leaves you in charge of dealing with consistency yourself. ACID transactions are only available locally within components and protocols like two-phase commit don’t scale. Many projects either risk adventurous inconsistencies or write a lot of code for consistency management in the application layer. In this talk I discuss these problems and go over possible solutions, including the Saga-Pattern. I will discuss recipes and frameworks that ease the management of the right level of consistency. This allows you write business logic code. Expect fun little live hacking sessions with open source components, but also real-life stories.


Saga: How to implement complex business transactions without two phase commit.

The Saga pattern describes how to solve distributed (business) transactions without two-phase-commit as this does not scale in distributed systems. The basic idea is to break the overall transaction into multiple steps or activities. Only the steps internally can be performed in atomic transactions but the overall consistency is taken care of by the Saga. The Saga has the responsibility to either get the overall business transaction completed or to leave the system in a known termination state. So in case of errors a business rollback procedure is applied which occurs by calling compensation steps or activities in reverse order.


Upcoming gigs:

{{ item['fields']['Name'] }} {{ item['fields']['Location'] }}
{{ item['fields']['Talk-Date'] }}

Recently delivered at:

{{ item['fields']['Name'] }} {{ item['fields']['Location'] }}
{{ item['fields']['Talk-Date'] }}