I have a situation where I have N app servers talking to stateless session beans in a jboss cluster with M jboss servers.
The N app servers are behind an HTTP load balancer.
I am currently using the RandomRobin policy but am thinking about a new policy.
Basically, I'd like the N app servers to try and spread themselves evenly out amongst the M jboss servers. An app server would only choose a new Jboss server if it was for some reason removed from the cluster.
Some ideas on this:
1. Create a static mapping file that is deployed to each app server and is read by my new load balancing policy.
2. Have the app servers participant in a new Javagroups group and have each client get an ordered id. The app server could somehow use this id to choose which jboss server to use.
3. Our servers use a naming convention where their host name ends with a number. I could somehow use that so each client would spread themselves evenly around the cluster.
My point of doing this is that with either the RandomRobin or RoundRobin there will be times when a bunch of app servers hit the same jboss server. And, as the number of app servers increases so will the number of times this occurs.
I saw the first available, but then couldn't all of the app servers randomly choose the same jboss server? Or at least a couple could choose the same one and then we might have an unutilized jboss server.