users@glassfish.java.net

Re: IIOP load-balancing not happening in cluster

From: <glassfish_at_javadesktop.org>
Date: Tue, 06 Nov 2007 07:51:26 PST

> With your suggestion, the user was able to get it
> work.

That's good news.

> He also provided some critiques regarding
> glassfish iiop load-balancing, translated below:
> <translation>
> This is not the optimal solution he was looking for
> (I guess as compared to how it is implemented in
> JBoss). It seems redundant to specify the additional
> sysprop "com.sun.appserv.iiop.endpoints."

This seems like a valid complaint.

> It also
> makes it impossible to use other loading balancing
> algorithms like weighted dispatching. It is not very
> configurable.

Neither is true. Read on.

>
> Since the load balancing is done at lookup time, the
> client needs to do a new lookup every time to achieve
> load balancing.
> </translation>

Beware of false assumptions.

(See also http://forums.java.net/jive/message.jspa?messageID=235311#235311 and the documentation: https://glassfish.dev.java.net/nonav/javaee5/docs/SJSASEEHAAG.pdf - look in the RMI/IIOP Load-balancing and Failover section.)

The endpoints specified using the property are used for "bootstrapping" into the load-balanced server-side ORBs. That is, the client will try to connect to one of the ORBs specified there, stopping as soon as it connects successfully to one. Once that happens, the chosen server ORB will send to the client ORB the full list of all ORBs in the cluster, regardless of what was specified in the property on the client side. From then on load-balancing includes all of those ORBs. And as ORBs enter and leave the active set the client is informed of the updates.

Load-balancing is quite configurable as described in the documentation link above.

 - Tim
[Message sent by forum member 'tjquinn' (tjquinn)]

http://forums.java.net/jive/thread.jspa?messageID=244088