Avout and Distributed State in Clojure

Avout brings Clojure's in-memory model of state to distributed application development by providing a distributed implementation of Clojure's Multiversion Concurrency Control (MVCC) STM along with distributable, durable, and extendable versions of Clojure's Atom and Ref concurrency primitives.

This talk will provide:

background on Clojure's in-memory model of state

a walkthrough of Clojure's STM

a walkthrough of Avout's design

guidelines for using, and avoiding, distributed state in application development

instructions on how to extend Avout with different - backend state stores