Life in an Eventually Consistent World
NOTE THE NEW VENUE: Lab for the Recently Possible, at 45 Gloucester Street, opposite The Skiff.
It turns out that we can't have it all when we are dealing with the kind of distributed systems required by today's web-scale applications.
Brewer's Theorem tells us that for any such system we cannot simultaneously guarantee Consistency, Availability and tolerance to Partitioning. We can fulfill any two but we are stuck with a weaker version of whatever is left.
So what happens then when we choose to relax the requirement of data consistency? And how are we going to write reliable code in these situations?
In this talk, Cristiano Solarino will look at one approach to cope with this scenario called Convergent Replicated Data Types using Riak as the reference example of an eventually consistent database. Cris will explain why he thinks CRDTs are really cool and will walk through a couple of simple examples in Node.
We'll then look at adding a constraint on the type of operations we can perform on our CRDTs, by creating a generic Node module to make our dev life a bit easier.
Cristiano is one-third of BrightMinded's dev team. Feed him Tiramisu and you'll have gained a friend for life.
Update: Slides from the talk
The slides are at http://eve.terseuniverse.net.