Cluster member health
Typically, hardware or software load balancers check the health of the various cluster members and stop directing traffic to a cluster member that stops responding. This check is very summary and simply verifies that the corresponding network port responds. Therefore, it is possible that a load balancer redirects traffic to a cluster member that is not capable of processing that traffic appropriately.
Some examples are that PolicyCenter is:
- Not fully started yet
- At the
MAINTENANCErun level - Experiencing significant issues, such as an out-of-memory condition
Some other infrastructure constraints exist. For example, some environments cannot use source IP stickiness to load-balance conversational SOAP calls. In this situation, if using Guidewire ContactManager, you can instantiate one ContactManager instance on each server machine hosting one or more PolicyCenter instances. You then configure each PolicyCenter instance on that machine to direct contact requests to that local ContactManager instance. In this scenario, if the local ContactManager instance is not functioning properly, it is advisable to stop directing traffic to any of the PolicyCenter instances on that server.
http://localhost:8080/pc/ping
There are three possible responses by the web browser:
- If the application is running at the default
MULTIUSERrun level, the browser displays the number2. - If the application is running in any mode other than
MULTIUSER, the browser displays a specific ASCII character, depending on the circumstances. - If the PolicyCenter server is not running, the browser displays an HTTP failure message, depending on the configuration of the server.
See Getting and setting the run level for a list of the specific ASCII characters that the ping utility can return. Invoking this utility programmatically provides more granular information on the server’s status.
It is possible to configure the load balancers access this URL on a regular basis to determine the health of each member of the cluster. You can then use these results to create redirection logic.
For example, suppose that you have an environment in which PolicyCenter directs traffic to a local ContactManager instance. You then configure the load balancer to only redirect traffic to a PolicyCenter instance if both that instance and the ContactManager instance on that server are accessible for user requests.
