WLM behaviors using server weighted round robin

Assuming a request has no affinity, the server weighted round robin routing will select the next currently available cluster member, based on the distribution described by the weights for the cluster members.

Important: Whatever the server selection policy, process affinity and transaction affinity will always override the selection policy.

For example, in Table 6-2, the cluster weights describe a 2/7, 2/7, 3/7 request distribution. This means that if there are seven requests sent from a client, EJB1a will get two of the requests, EJB1b will also get two and EJB2 will get three. As you can see in Figure 6-11, the EJB requests are distributed across all available cluster members in a repetitive order until cluster members' EJB1a and EJB1b server weight value reaches zero, at which point EJB2 receives an extra request. Remember, both EJB1a and EJB1b have the same server weight value of 2, where EJB2 has a server weight value of 3.

Figure 6-11 Web client calling EJBs - round robin server selection

The output listing in Example 6-5 shows a similar behavior for our J2EE client application. EJB requests are distributed across all available cluster members in a repetitive order. Once cluster members' EJB1a and EJB1b server weight value reaches zero, EJB2 receives an extra request because both EJB1a and EJB1b have the same server weight value of 2, while EJB2 has a server weight value of 3.

Example 6-5 J2EE client calling EJBs - server weighted round robin routing

<Session Bean>
---> {beanServerName=EJB1a, beanServerProcessId=2376, beanNodeName=app1w
Execution time: 15
<==============================>
<Session Bean>
---> {beanServerName=EJB1b, beanServerProcessId=2456, beanNodeName=app1w
Execution time: 0
<==============================>
<Session Bean>
---> {beanServerName=EJB2, beanServerProcessId=1936, beanNodeName=app2w}
Execution time: 0
<==============================>
<Session Bean>
---> {beanServerName=EJB1a, beanServerProcessId=2376, beanNodeName=app1w
Execution time: 0
<==============================>
<Session Bean>
---> {beanServerName=EJB1b, beanServerProcessId=2456, beanNodeName=app1w
Execution time: 15
<==============================>
<Session Bean>
---> {beanServerName=EJB2, beanServerProcessId=1936, beanNodeName=app2w}
Execution time: 16
<==============================>
<Session Bean>
---> {beanServerName=EJB2, beanServerProcessId=1936, beanNodeName=app2w}
Execution time: 0
<==============================>
<Session Bean>
---> {beanServerName=EJB1a, beanServerProcessId=2376, beanNodeName=app1w}
Execution time: 16
<==============================>
<Session Bean>
---> {beanServerName=EJB1b, beanServerProcessId=2456, beanNodeName=app1w}
Execution time: 94
<==============================>
<Session Bean>
---> {beanServerName=EJB2, beanServerProcessId=1936, beanNodeName=app2w}
Execution time: 16
<==============================>
<Session Bean>
---> {beanServerName=EJB1a, beanServerProcessId=2376, beanNodeName=app1w}
Execution time: 15
<==============================>
<Session Bean>
---> {beanServerName=EJB1b, beanServerProcessId=2456, beanNodeName=app1w}
Execution time: 16
<==============================>
<Session Bean>
---> {beanServerName=EJB2, beanServerProcessId=1936, beanNodeName=app2w}
Execution time: 0
<==============================>

  Prev | Home | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.