This document provides an overview of distributed coordination using ZooKeeper and Curator. It discusses ZooKeeper features like its data model, API, guarantees such as consistency and availability. Common recipes for coordination like shared data, service discovery, locking, and leader election are presented. The document also covers performance considerations and advanced ZooKeeper topics like using observers and hierarchical quorums. Finally, Curator is introduced as a higher-level client API for ZooKeeper that implements many recipes and handles complexity.