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

Re: A proposal for a General Clustering Framework



On Tue, 5 Jun 2001, Alan Robertson wrote:

>
> Clearly whatever we do will BY DEFINITION be a significant extension over
> the XML-RPC spec.
>
> 1) we won't support HTTP
> 2) we will allow calls without explicit replies (event notification)
> 3) we need to indicate which domain the message is within.  By that I mean
> 	which application program on the destination end will receive the
> 	call...

Alan,
This is what I was talking about in my last message about
transport-independence. I know SOAP has a clearly defined spec for it, I'm
not sure about XMLRPC. Clearly, SOAP is too heavyweight for our task, so I
would propose 'backporting' the transport-independence into the XMLRPC
protocol.

So, to answer your points line-by-line...

1) We simply define a new 'lightweight' transport.
2) Already supported. (or do you mean a UDP-like 'unreliable' transport
mechanism?)
3) Trivially done within XMLRPC. You can do either of two ways: 1) have an
XMLRPC 'listener' for each application, or define part of the api that
specifies which app a message will go to.

an example:
I have two libraries that I distribute calls to from my XMLRPC wrapper. I
do it like this (pseudo-code):

xmlrpc->call( "library.ProcedureName", "procedure args" );

The wrapper splits up the name on the ".", and distributes the call to the
appropriate library.

>
>
> This is kinda cool...
>
> I also thought of a third extension:
>
> 3) Allow calls to multiple nodes in the cluster.  There would be another
> parameter for the list of machines in the cluster to be called, and one for
> a timeout value.  The caller would be notified once all the replies came in,
> or timeouts had occurred, or (optionally) cluster membership had changed...
>


The above will be taken care of with a 'multicast' transport. The message
payload will be the same as a normal XMLRPC message, it will just be
multicast to a list of cluster members.

--
Michael


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