Primary and backup servers cluster two-level failover

WebSphere V5 supplies a two-level failover functionality. When the plugin-cfg.xml is generated, all servers are initially listed under the PrimaryServers tag. You can manually move selected servers to be listed under the BackupServers tag, as shown in Example 9-1.

Example 9-1 Primary and Backup Server lists in plugin-cfg.xml

<PrimaryServers>
            <Server Name="HAClusterServer1"/>
            <Server Name="HAClusterServer3"/>
        </PrimaryServers>
        <BackupServers>	
				Server Name="HAClusterServer2"/>
            	<Server Name="HAClusterServer4"/>
  	</BackupServers> 

The Web server plug-in will not route requests to any server in the Backup Server list as long as there are appservers available from the Primary Server list. Within the PrimaryServers, the plug-in routes traffic according to server weight and/or session affinity. When all servers in the Primary Server list are unavailable, the plug-in will route traffic to the first available server in the Backup Server list. If the first server in the Backup Server list is not available, the request will be routed to the next server in the Backup Server list. Weighted round robin routing is not performed for the servers in the Backup Server list. The plug-in just uses one server at a time. Refer to Primary and backup servers for more details on how the plug-in performs the server selection.

This two-level failover mechanism provides more advanced failover support, allowing better use of available server capacity.

Typical two-level failover behavior is shown in the trace in Example 9-2.

Example 9-2 Two-level failover trace

TRACE: ws_server_group: serverGroupAddPrimaryServerName: adding 
WebHAbbMember1 to primary server list
TRACE: ws_server_group: serverGroupAddPrimaryServerName: adding 
WebHAbbMember3 to primary server list
TRACE: ws_server_group: serverGroupAddBackupServerName: adding 
WebHAbbMember2 to backup server list
TRACE: ws_server_group: serverGroupAddBackupServerName: adding 
WebHAbbMember4 to backup server list
TRACE: ws_server_group: serverGroupGetFirstServer: getting the first server
TRACE: ws_server_group: serverGroupGetNextServer: getting the next server
Only primary servers participate weighted Round Robin:
TRACE: ws_server_group: serverGroupNextRoundRobinServer: Round Robin load 
balancing
TRACE: ws_server_group: serverGroupNextRoundRobinServer: numPrimaryServers 
is 2
TRACE: ws_server_group: assureWeightsValid: group WebHACluster
TRACE: ws_server_group: serverGroupGetFirstPrimaryServer: getting the first 
primary server
TRACE: ws_server_group: sum_wlb_weights:  WebHAbbMember1: 1 max, 0 cur.
TRACE: ws_server_group: serverGroupGetNextPrimaryServer: getting the next 
primary server
TRACE: ws_server_group: sum_wlb_weights:  WebHAbbMember3: 1 max, 0 cur.
TRACE: ws_server_group: serverGroupGetNextPrimaryServer: getting the next 
primary server
TRACE: ws_server_group: sum_wlb_weights := 0
TRACE: ws_server_group: serverGroupGetFirstServer: getting the first server
TRACE: ws_server_group: serverGroupGetNextServer: getting the next server
TRACE: ws_server_group: serverGroupGetNextServer: getting the next server
TRACE: ws_server_group: serverGroupGetNextServer: getting the next server
TRACE: ws_server_group: serverGroupGetNextServer: getting the next server
--------------Retry another one
TRACE: ws_server_group: serverGroupCheckServerStatus: Checking status of 
WebHAbbMember3, ignoreWeights 0, markedDown 1, retryNow 1, wlbAllows 1
TRACE: ws_server_group: serverGroupCheckServerStatus: Time to retry server 
WebHAbbMember3
TRACE: ws_server_group: lockedServerGroupUseServer: Server WebHAbbMember3 
picked, weight 0.
TRACE: ws_common: websphereFindTransport: Finding the transport
TRACE: ws_common: websphereFindTransport: Setting the transport: 
10.55.90.84 on port 9081
TRACE: ws_common: websphereExecute: Executing the transaction with the app 
server
TRACE: ws_common: websphereGetStream: Getting the stream to the app server
TRACE: ws_transport: transportStreamDequeue: Checking for existing stream 
from the queue
ERROR: ws_common: websphereGetStream: Failed to connect to app server, OS 
err=10061
ERROR: ws_common: websphereExecute: Failed to create the stream
ERROR: ws_server: serverSetFailoverStatus: Marking WebHAbbMember3 down
ERROR: ws_common: websphereWriteRequestReadResponse: Failed to execute the 
transaction to 'WebHAbbMember3'; will try another one
TRACE: ws_server_group: serverGroupNextRoundRobinServer: Round Robin load 
balancing
TRACE: ws_server_group: serverGroupNextRoundRobinServer: numPrimaryServers 
is 2
TRACE: ws_server_group: assureWeightsValid: group WebHACluster
TRACE: ws_server_group: serverGroupGetFirstPrimaryServer: getting the first 
-----------------Get backup Server
TRACE: ws_server_group: serverGroupGetFirstPrimaryServer: getting the first 
primary server
TRACE: ws_server_group: serverGroupCheckServerStatus: Checking status of 
WebHAbbMember1, ignoreWeights 0, markedDown 1, retryNow 0, wlbAllows 1
TRACE: ws_server_group: serverGroupCheckServerStatus: Server WebHAbbMember1 
is marked down; retry in 60
ERROR: ws_server_group: serverGroupNextRoundRobinServer: Failed to find a 
server; all could be down
TRACE: ws_server_group: serverGroupGetNextUpBackupServer: Getting the next 
up backup server
TRACE: ws_server_group: serverGroupGetFirstBackupServer: getting the first 
backup server
TRACE: ws_server_group: serverGroupCheckServerStatus: Checking status of 
WebHAbbMember2, ignoreWeights 1, markedDown 0, retryNow 0, wlbAllows 1
TRACE: ws_common: websphereFindTransport: Finding the transport
TRACE: ws_common: websphereFindTransport: Setting the transport: 
10.55.90.22 on port 9082
TRACE: ws_common: websphereExecute: Executing the transaction with the app 
server
TRACE: ws_common: websphereGetStream: Getting the stream to the app server
TRACE: ws_transport: transportStreamDequeue: Checking for existing stream 
from the queue

  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.