Round-Robin Load Balancing Weight-Based Load Balancing

5-4 Using Clusters for Oracle WebLogic Server request is routed through the load balancers, and that subsequent requests are routed and controlled using WebLogic Server load balancing. Oracle advises against using the t3s protocol with external load balancers. In cases where the use of t3 and SSL with external load balancers is required, Oracle recommends using t3 tunneling through HTTPS. In cases where server affinity is required, you must use HTTP session IDs for routing requests, and must terminate SSL at the load balancer performing session-based routing to enable appropriate routing of requests based on session IDs.

5.2.1 Round-Robin Load Balancing

WebLogic Server uses the round-robin algorithm as the default load balancing strategy for clustered object stubs when no algorithm is specified. This algorithm is supported for RMI objects and EJBs. It is also the method used by WebLogic proxy plug-ins. The round-robin algorithm cycles through a list of WebLogic Server instances in order. For clustered objects, the server list consists of WebLogic Server instances that host the clustered object. For proxy plug-ins, the list consists of all WebLogic Server instances that host the clustered servlet or JSP. The advantages of the round-robin algorithm are that it is simple, cheap and very predictable. The primary disadvantage is that there is some chance of convoying. Convoying occurs when one server is significantly slower than the others. Because replica-aware stubs or proxy plug-ins access the servers in the same order, a slow server can cause requests to synchronize on the server, then follow other servers in order for future requests.

5.2.2 Weight-Based Load Balancing

This algorithm applies only to EJB and RMI object clustering. Weight-based load balancing improves on the round-robin algorithm by taking into account a pre-assigned weight for each server. You can use the Server Configuration Cluster page in the Administration Console to assign each server in the cluster a numerical weight between 1 and 100, in the Cluster Weight field. This value determines what proportion of the load the server will bear relative to other servers. If all servers have the same weight, they will each bear an equal proportion of the load. If one server has weight 50 and all other servers have weight 100, the 50-weight server will bear half as much as any other server. This algorithm makes it possible to apply the advantages of the round-robin algorithm to clusters that are not homogeneous. If you use the weight-based algorithm, carefully determine the relative weights to assign to each server instance. Factors to consider include: ■ The processing capacity of the servers hardware in relationship to other servers for example, the number and performance of CPUs dedicated to WebLogic Server. ■ The number of non-clustered pinned objects each server hosts. If you change the specified weight of a server and reboot it, the new weighting information is propagated throughout the cluster via the replica-aware stubs. For related information see Section 3.2, Cluster-Wide JNDI Naming Service. Note: WebLogic Server does not always load balance an objects method calls. For more information, see Section 5.2.6, Optimization for Collocated Objects. Load Balancing in a Cluster 5-5

5.2.3 Random Load Balancing