I would prefer to do without a master, but many applications are much simpler with a master controller. Needless to say, you should design for high availability by allowing multiple masters to start and use ZK to decide which is the true master.
It is fine to keep lots of different kinds of information in ZK. I do something similar to what you say so that I can have an up to date knowledge of all running servers and services. You should keep an eye on how much data you are pushing into ZK and how many transactions per second you are using. Once per second for each of 10 services on 100 nodes could be pretty hard to keep up with. On Sun, Jan 24, 2010 at 11:05 PM, Qing Yan <qing...@gmail.com> wrote: > Hi guys, > > Let me ask a design/best practice question. > > The design you guys are talking about seems to be p2p based, under what > circumstances is such design prefered to a master-based one(like > gfs,bigtable,hbase...)? Looks like for a full fledged system,a master is > needed anyway to carry out bookkeeping activities, not mention it is > simple > to design(no race condition,herd effect etc). > > > BTW is it a good practice to store indivdual node's monitoring metrics > inside Zookeeper with proactive refreshing(say every sec)? Is this > considered as abuse? > -- Ted Dunning, CTO DeepDyve