[ https://issues.apache.org/jira/browse/ZOOKEEPER-641?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Patrick Hunt updated ZOOKEEPER-641: ----------------------------------- Fix Version/s: (was: 3.3.0) 3.4.0 > Improve details about group membership recipe > --------------------------------------------- > > Key: ZOOKEEPER-641 > URL: https://issues.apache.org/jira/browse/ZOOKEEPER-641 > Project: Zookeeper > Issue Type: Improvement > Components: documentation > Affects Versions: 3.2.1 > Reporter: Adam Rosien > Fix For: 3.4.0 > > > Regarding > http://eng.kaching.com/2010/01/actually-implementing-group-management.html > Patrick Hunt asked for a more complete group membership recipe from the one > listed at > http://hadoop.apache.org/zookeeper/docs/r3.0.0/recipes.html#sc_outOfTheBox. > The relevant text from the blog post: > One type of group management system using ZooKeeper: > * A group contains some logical service. The *meaning* of belonging to a > group is typically "the instance is available for use by clients over the > network". > * Services can join and leave the group. The special case of a service > crashing or a network outage needs to be handled as leaving the group. > * Joined services share metadata about how to communicate with it, i.e., > its IP address, base URL, etc. > * Clients can ask what instances are in the group, i.e., available. > * Clients are notified when group membership changes so they can mutate > their local state. > These map onto ZooKeeper as: > * A group is a (permanent) node in the ZooKeeper hierarchy. Clients and > services must be told the path to this node. > * A services joins the group by creating an ephemeral node whose parent > is the group node. By using an ephemeral node, if the service dies then the > service is automatically removed from the group. > * The ephemeral node's data contains the service metadata in some format > like JSON, XML, Avro, Protobufs, Thrift, etc. ZooKeeper has no equivalent of > HTTP's "Content-Type" header to identify the metadata representation, so > services and clients must agree upon the format in some manner. > * Clients can query for the children of the group node to identify the > members of the group. > * Clients can place a watch on the group node to be notified if nodes > have joined or left the group. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.