>From your description, it seems that a hardware load balancer in front of your web service farm would do this job easily and transparently.<br><br>-Paul<br><br><div><span class="gmail_quote">On 2/13/06, <b class="gmail_sendername">
Matthew Wilson</b> &lt;<a href="mailto:mw44106@gmail.com">mw44106@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
We have a bunch of boxes (20 or so) that offer web-services to our<br>server farm of several hundred boxes.&nbsp;&nbsp;Right now, if a box on a farm<br>needs to connect to one of the web service boxes, it iterates through<br>a list of all the web-service boxes, and tries to connect to each one,
<br>until it finds one that is free to handle the request.<br><br>I'm thinking that a better model might be to create a MUC where each<br>of the web-service boxes are persistently connected.&nbsp;&nbsp;They would use<br>their presence attribute to indicate whether they are available or
<br>busy.<br><br>When one of the farm boxes needs to make a request, it would connect<br>to the chat, get the presence info for all the web-service boxes, and<br>then choose one of the available servers to send a request to.
<br><br>In order to send the request, I figured the client could send a<br>message to the room and specify in the message which server process it<br>is sending the request to.<br><br>At this point, the server would<br> * update its presence to busy;
<br> * handle the request;<br> * put a message back into the chat room, with the request results;<br> * update its presence to available<br><br>I'd prefer that the clients and servers communicate through the room,<br>rather than directly, so that I can just log the chat room and see all
<br>the transactions.<br><br>A few questions:<br> * Is this asinine?<br> * Has anyone done anything like this?&nbsp;&nbsp;Are there any hidden gotchas<br>you discovered?<br>&nbsp;&nbsp;* Is there any reason to mix in some jabber-RPC?<br><br>
All advice is appreciated.<br></blockquote></div><br>