[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: A proposal for a General Clustering Framework



Jeff Darcy wrote:
> 
> > IMO, IBM and Compaq both Got It Right when they
> > put an generalized pub/sub event system in the middle
> > of their cluster frameworks.
> 
> A generalized event system is a great idea, but I'm not sure that "pub/sub"
> belongs in the middle of the cluster framework.  One of the most critical
> functionalities for a cluster infrastructure is agreement on which of
> several events (which may be merely symptoms of a single actual failure) to
> process first.  That process is difficult enough when everyone agrees on the
> list of candidates.  At this level, there should be no subscription
> requirement; all nodes should get all events, period.  That sort of
> filtering belongs at what I'd call the top of the framework, not the middle.
> 
> > FWIW, xml-rpc is a perfectly fine mechanism for such
> > an event system, once you get the subscription mechanism
> > in place.  You probably also want more authentication and
> > authorization than is used on things that assume private
> > networks for cluster traffic.
> 
> I'm afraid you (all) will have to forgive me some of my biases.  I spent a
> lot of time developing protocols for this kind of thing, in code that was
> later credited to IBM.  One conclusion I reached during that work is that
> *RPC is evil* as soon as you depart from the two-party request-response
> model for which it was designed.  Yes, yes, I know you can do broadcast RPC
> and stuff, but that's just a collection of two-way conversations and
> fundamentally different than the sort of true multi-way conversation you
> need for cluster stuff.  XML is fine as a representation, and XML-RPC might
> be fine as part of a top-level notification API, but deep down in the guts
> of things I think all flavors of RPC should be avoided.

I agree with this.  I didn't mention RPC and have thought it was the wrong
tool for this job.  It's the wrong paradigm, I think...

But, for talking to local daemons, etc., some kind of RPC is necessary.  I
implemented a kind for heartbeat that could be generalized here.  XML-RPC is
too weak for the job (it only allows the simplest kinds of data to be passed
around).

I only sent this reply to linux-cluster as per my earlier email about
flooding all these lists...

	-- Alan Robertson
	   alanr@unix.sh

Linux-cluster: generic cluster infrastructure for Linux
Archive:       http://mail.nl.linux.org/linux-cluster/