Distributed data-intensive systems are increasingly designed to be only eventually consistent. Persistent data is no longer processed with serialized and transactional access, exposing applications to a range of potential consistency and concurrency anomalies that need to be handled by the application itself. Controlling concurrent data access in monolithic systems is already challenging, but the problem is exacerbated in distributed systems. To make it worse, only little systematic engineering guidance is provided by the software architecture community regarding this issue.
Susanne shares her experiences from different case studies with industry clients, and novel design guidelines developed by using action research. You will learn settled and novel approaches to tackle consistency- and concurrency related design challenges.