Taming Zookeeper - introduction and “how to” for Java and Python
![Image](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQrT50C_Vir8Qy5ul4ELJHhED4Gmp3v3no-toUCeQQ2_Z0OwMwog8RKJ6qW9h9Cib23DBC_ikgKkewqUqaT6jQp0AXBs7p9AypDWfdb_51NG0QnFXvreFhBzQ6O1kkZQAOj2pRPBWZGSg/s1600/zookeeper.png)
Zookeeper is one of the most versatile projects out there but still somewhat underutilized and feared; however, almost every software project could benefit from using it as a distributed, fault tolerant, hierarchical data storage. What really is Zookeeper? Zookeeper is a free and open source, distributed, fault tolerant, hierarchical value storage - pretty much like a network share that stores small files in directories and subdirectories. These “files”, which are called nodes in Zookeeper, are small, so the platform is not really a BLOB storage (actually the size of a node is limited to 1mb). Storing and reading these nodes are extremely fast, so any information can be stored in Zookeeper without seconds thoughts – active keys in a cache, currently active sessions, list of active servers, and so on. A Zookeeper cluster can consist of multiple servers and there is no predefined master in this topology – the platform will make sure that the storage and retrieval of the nodes