Zookeeper is the open sourced library of cluster membership. It is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services used by company like twitter.
Though Zookeeper is most used library, but it has no concrete documentation of low-level tcp, wire protocol. The code is itself is the documentation, so to know insight code has to read. Result, there are only client bindings is available for a number of languages, but very few with pure implementation in theirs native code.
After reading code of zookeeper client in Python implementation by hannosch, (as I find java a bit verbose. But for java people see the jute file used for RPC). Also with the help of wireshark, to inspect zookeeper packets, able to understand protocols quite well.
For Scala, I have written simple client over twitter's finagle codec to demonstrate the working of zookeeper connection.
After reading code of zookeeper client in Python implementation by hannosch, (as I find java a bit verbose. But for java people see the jute file used for RPC). Also with the help of wireshark, to inspect zookeeper packets, able to understand protocols quite well.
For Scala, I have written simple client over twitter's finagle codec to demonstrate the working of zookeeper connection.
