ZooKeeper's architecture supports high-availability through redundant services. The clients can thus ask another ZooKeeper master if the first fails to answer. ZooKeeper nodes store their data in a hierarchical name space, much like a file system or a trie datastructure. Clients can read and write from/to the nodes and in this way have a shared configuration service. Updates are totally ordered.