Scaling Event Sourcing for the IoT and mobile
In this session, Lorenzo Nicora shares with us experiences, errors and successes from real-world projects with Event Sourcing and offers a fresh point of view on how to deal with issues when working on IoT and mobile applications.
Event Sourcing is a popular persistence pattern that allows reconstructing different views of reality from its history. While the commonly accepted approach guarantees consistent events at write-time, it may fall short scaling to big-data magnitudes. This presentation gathers experience, errors and successes from real-world projects.
Often, consistency enforced on write doesn’t scale when you have to cope with unreliable clients and transport, as with IoT and mobile, and keep latency low. You have already abandoned ACID transactions, but you have to push BASE (Basic Availability, Soft-state and Eventual consistency) one step further, making compromises between low-latency writes, read delays and read-model consistency.
This presentation covers authentic problems like building consistent read models from late or missing events, and lack of any global time reference until everyone has an atomic clock in their pocket. It offers an alternative point of view on Event Sourcing described with whiteboard-like drawings and lessons from the trenches.