The Zookeeper paper describes a toolkit for building coordinated distributed systems, which is itself built upon lower-level concepts like consensus, linearizability, and atomic broadcast. Though we sometimes think of tools like distributed locks, rendezvous, group membership, and barriers as primitives, they actually can be, and are often in practice, built on top of Zookeeper. We'll dig into what makes Zookeeper tick, and why it's useful for real-world distributed systems.
The paper can be found here (https://github.com/papers-we-love/papers-we-love/raw/master/distributed_systems/zookeeper-wait-free-coordination-for-internet-scale-systems.pdf).
If Colin Jones loves this paper so much, why doesn't he marry it? Suspicious. And not that it helps his case, but he writes software for 8th Light (http://8thlight.com) and recently published a book on Clojure macros (https://pragprog.com/book/cjclojure/mastering-clojure-macros).