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