On Tue, Jul 20, 2004 at 05:13:52PM +0200, Graham Leggett wrote:
> In theory this kind of thing should not be limited to tomcat only, but 
> to web applications (whether PHP, whatever) in general.
> 
> Perhaps a mechanism that allows the backend to connect to the frontend 
> and say "status has changed, I am offering webapp XXX now, so count me 
> into the pool". Or a mechanism for the frontend to poll the 
> characteristics of the backend so that it can autolearn what webapp can 
> be found where (has the advantage of not requiring a special backend 
> module, apart from a magic URL on the backend giving relevant the 
> information)

Rather than a magic URL, this sounds like a job for OPTIONS. The clever
load balancing code could send an OPTIONS request and use the response
to determine if that particular backend is a) up b) accepting requests
at all c) associate a priority with that backend.

Using OPTIONS has the advantage of being backwards compatible, if you
send OPTIONS to a plain-old HTTP receiver, the standard ACK can be
taken to mean "yep, I'm here". Intelligent backends (read: modify
tomcat and co slightly) can have an X-header or whatever to go
"I'm accepting this, this and this, and my current load is this".

>From RFC2616:

 "This method allows the client to determine the options and/or
 requirements associated with a resource, or the capabilities of a
 server, without implying a resource action or initiating a resource
 retrieval."

> ProxyPass /myWebapp virtual://myWebbapp (or something)
> 
> Where proxy can hand out the request to a backend that has recently said 
> "hi proxy, I serve myWebapp, feel free to contact me to fulfil a request".

Same here, but wouldn't be elegant to use OPTIONS?

-- 
Colm MacCárthaigh                        Public Key: [EMAIL PROTECTED]

Reply via email to