On Mon, Jan 31, 2011 at 3:34 PM, Patrick Hunt <[email protected]> wrote: > A couple of the unimplemented ZK GSOC issues look interesting (DNS?).
I think DNS-like behavior is indeed one of the best usages of ZooKeeper. In the Chubby paper the Google guys also said this is their primary usage I believe? Every distributed system needs to lookup other parts of the distributed system, few systems need advanced features such as distributed locking. If anybody in GSOC is going to work on a DNS-like version, I suggest that they add a local cache (on the side of the zookeeper client library), such that it will still work if the ZooKeeper cluster is unavailable. For most use-cases this should be the preferred solution. It could be implemented as a local standalone agent + shared memory or as a library and backed by a yaml-file (I did this hehe) etc, there are many options! Thinking even further: you could build a software-router on top of a DNS-client, such that it only routes requests to alive nodes for example. When a node dies, it triggers a children changed event, refreshing the dns cache, updating the router and the next requests only hit the newly created server-list. Anyway, enough practical ideas! Thijs Terlouw, Shenzhen, China http://www.startinchina.com
