On 7/20/09 2:21 PM, "Scott Carey" <sc...@richrelevance.com> wrote:
> > Yes, a more general partial graph subscription / ownership framework would > allow for not just better WAN scalability but also (and more critically IMO) > higher reliability. Often, some large subset of application functionality is > local to one network, and a minority is global and in need of WAN > communication. In this case, when the WAN breaks one wishes that local > functionality to continue to function, and only those parts truly dependant on > external events to be interrupted. > Currently one has to have separate ensembles to partition data and clunky > 'bridge' code to intercommunicate. > > It would certainly be more natural if two ZK ensembles could register with > each other, in a 'partial sub-graph publish/subscribe' framework. It could > almost be like file system mounting: > To subscribe: > subscribe otherEnsemble:port/path/to/otherstuff /localpath/to/mount/into > > Publishing is the same thing -- think of it as a request for a remote ZK > cluster to subscribe to the local ZK's data. > > Actually, there is one other thing I would add to the above -- subscription persistence options. The two basic ones are persistence to disk where the subgraph survives (read only) if the master is absent -- probably with a special notification to readers that it is in this state, or it can be ephemeral and drop if the session to the master breaks. There are a variety of options around behavior when the connection to the master breaks. > > >> >> -Todd >> >> -----Original Message----- >> From: Scott Carey [mailto:sc...@richrelevance.com] >> Sent: Monday, July 20, 2009 11:00 AM >> To: zookeeper-user@hadoop.apache.org >> Subject: Re: Leader Elections >> >> Observers would be awesome especially with a couple enhancements / >> extensions: >> >> An option for the observers to enter a special state if the WAN link >> goes down to the "master" cluster. A read-only option would be great. >> However, allowing certain types of writes to continue on a limited basis >> would be highly valuable as well. An observer could "own" a special >> node and its subnodes. Only these subnodes would be writable by the >> observer when there was a session break to the master cluster, and the >> master cluster would take all the changes when the link is >> reestablished. Essentially, it is a portion of the hierarchy that is >> writable only by a specitfic observer, and read-only for others. >> The purpose of this would be for when the WAN link goes down to the >> "master" ZKs for certain types of use cases - status updates or other >> changes local to the observer that are strictly read-only outside the >> Observer's 'realm'. >> >> >> On 7/19/09 12:16 PM, "Henry Robinson" <he...@cloudera.com> wrote: >> >> You can. See ZOOKEEPER-368 - at first glance it sounds like observers >> will >> be a good fit for your requirements. >> >> Do bear in mind that the patch on the jira is only for discussion >> purposes; >> I would not consider it currently fit for production use. I hope to put >> up a >> much better patch this week. >> >> Henry >> >> On Sat, Jul 18, 2009 at 7:38 PM, Ted Dunning <ted.dunn...@gmail.com> >> wrote: >> >>> Can you submit updates via an observer? >>> >>> On Sat, Jul 18, 2009 at 6:38 AM, Flavio Junqueira <f...@yahoo-inc.com> >>> wrote: >>> >>>> 2- Observers: you could have one computing center containing an >> ensemble >>>> and observers around the edge just learning committed values. >>> >>> >>> >>> >>> -- >>> Ted Dunning, CTO >>> DeepDyve >>> >> >>