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
> 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