I'm attempting to use zookeeper for maintaining the configuration for a
system I'm building. For the purposes of this question, you can view the
system as a distributed hash table. I would like to use zookeeper as way to
make sure each member of my cluster has the same view of the membership
information (this is used for constructing a consistent hash).
In my current implementation each member of the cluster can act as
coordinator for a given request and will forward the request to the member
responsible for a given key. My concern is that if the members do not have
the same view of the membership information, updates might be lost.
The zookeeper documentation mentions that it is possible to construct higher
level functions that provide complete client synchronization, but it refers
to a non-existent page (ZooKeeperTheory). If somebody on this list could
provide some pointers I'd be much obliged.
As a side question, how expensive is a call to sync()?