Archived

This forum has been archived. Please start a new discussion on GitHub.

Load balancing across multiple servers

Hi

we currently use BEA Tuxedo for a telecoms billing system and are looking at alternate middleware. Tuxedo has the ability to balance requests across multiple servers that advertise the same service (similar to having multiple servers with the same adapter id??).

the question is: how would one go about building some sort of load balancing scheme into ice. i suppose something like that would be an additional ice subsystem. even better if its similar in concept to TAO's load balance service.

any ideas?

regards
roelof.

Comments

  • marc
    marc Florida
    You simply put the endpoints of all servers into one proxy. Clients will then pick one of them randomly. For example, if you have an object with the identity "MyObject", and a server for this object is running on hostA, hostB, and hostC, all port 5000, you can use:

    MyObject : tcp -h hostA -p 5000 : tcp -h hostB -p 5000 : tcp -h hostC -p 5000

    For an example, have a look at test/Ice/faultTolerance.
  • thanx for the reply.

    this would allow each client to bind to a different server at startup or proxy creation. would it be possible to have a client select a new server on a per request basis (or per method invocation)?
  • marc
    marc Florida
    No, that's not possible at present. But it's on our TODO list :)