[jdev] Using chat room as resource pool -- need advice
Matthew Wilson
mw44106 at gmail.com
Mon Feb 13 19:37:54 CST 2006
We have a bunch of boxes (20 or so) that offer web-services to our
server farm of several hundred boxes. Right now, if a box on a farm
needs to connect to one of the web service boxes, it iterates through
a list of all the web-service boxes, and tries to connect to each one,
until it finds one that is free to handle the request.
I'm thinking that a better model might be to create a MUC where each
of the web-service boxes are persistently connected. They would use
their presence attribute to indicate whether they are available or
busy.
When one of the farm boxes needs to make a request, it would connect
to the chat, get the presence info for all the web-service boxes, and
then choose one of the available servers to send a request to.
In order to send the request, I figured the client could send a
message to the room and specify in the message which server process it
is sending the request to.
At this point, the server would
* update its presence to busy;
* handle the request;
* put a message back into the chat room, with the request results;
* update its presence to available
I'd prefer that the clients and servers communicate through the room,
rather than directly, so that I can just log the chat room and see all
the transactions.
A few questions:
* Is this asinine?
* Has anyone done anything like this? Are there any hidden gotchas
you discovered?
* Is there any reason to mix in some jabber-RPC?
All advice is appreciated.
More information about the JDev
mailing list