For a very close to correct answer, take a look at KeptCollections. On Fri, Mar 18, 2011 at 2:02 PM, Otis Gospodnetic < [email protected]> wrote:
> Hi, > > Short version: > How can ZK be used to make sure that all group members know *the exact > number of > members at all times*? > > I have an app that can be run on 1 or more servers. New instances of the > app > come and go, may die, etc. -- the number of the app instances is completely > dynamic. At any one time, as these apps come and go, each live instance of > the > app needs to know how many instances are there total. If a new instance of > the > app is started, all instances need to know the new total number of > instances. > If an app is stopped or if it dies, the remaining apps need to know the new > number of app instances. > > Also, and this is critical, they need to know about these > additions/removals of > apps right away and they all need to find out them at the same time. > Basically, > all members of some group need to know *the exact number of members at all > times*. > > This sounds almost like we need to watch a "parent group znode" and monitor > the > number of its ephemeral children, which represent each app instance that is > watching the "parent groups znode". Is that right? If so, then all I'd > need to > know is the answer to "How many watchers are watching this znode?" of "How > many > kids does this znode have?". And I'd need ZK to notify all watchers > whenever the > answer to this question changes. Ideally it would send/push the answer > (the > number of watchers) to all watchers, but if not, I assume any watcher that > is > notified about the change would go poll ZK to get the number of ephemeral > kids. > > I think the above is essentially what's described on > > http://eng.wealthfront.com/2010/01/actually-implementing-group-management.html, > but doesn't answer the part that's critical for me (the very first Q up > above). > > Thanks, > Otis > ---- > Sematext :: http://sematext.com/ :: Solr - Lucene - Nutch > Lucene ecosystem search :: http://search-lucene.com/ > >
