Start a conversation

Application Availability Issues With Rolling Restart of Nodes with Load Balancing Configured

Overview

This article explains the availability behavior during a rolling restart of an on-premise Jive instance that's set up with load balancing. Based on the configuration, you may notice that the related applications are not accessible to end-users even when a few nodes (servers) out of the clusters (server pool in the load-balancer) are restarted. 

 

Diagnosis

Environment

An on-premise Jive instance that's set up with load balancing configured for one or more types of servers such as application server, cache server, or database server.

Action

Perform a rolling restart of one of the nodes (servers) from the cluster (server pool) that are set up with load balancing.

Expected result

The end-users should not see any downtime and the load balancer should automatically redirect all traffic to the available nodes (servers) from the cluster(server pool).

Actual result

The users see that the application is not accessible. For example, if the server is from the database server pool, the users will see an error similar to:

myDB_error.png

 

What is the load balancer's role?

In a Jive cluster environment, a load balancer is added between the user and the application servers. Every user has a session, represented by a unique cookie that's associated with a particular server from the cluster that allows stateful data to be maintained while they are using the application.

The load balancer must be session-aware, meaning that it inspects the cookie value and always sends a given user's requests to the same application server during a given session. Without session-aware load balancing, the load balancer could send requests to any application server in the cluster, scrambling results for a given user.

 

Why does the application show error on restart?

This occurs if your browser is still sending the same cookie for the application server that was restarted to the load balancer. Since the request is further forwarded by the load balancer to the application server that's unavailable (being restarted), the end-user sees an inaccessible service or the maintenance page. 

 

Solution

Jive requires the load balancer to be configured for the cookie-based session affinity between each host running the platform. This configuration enables the available nodes (servers) from the cluster (pool of servers) to successfully take-over any user session (regardless of the unique cookie value) if the associated node (server) for that user session is inaccessible.

You can refer to the article Using external load balancer from product documentation to set up the cookie-based session affinity to resolve this problem.

 

How to update the maintenance page?

If you would like to keep the current behavior but only want to showcase a different maintenance webpage during the node restarts, you can update the HTML page located at:

/var/www/___sbsstatic___/maintenance.html

Once you have updated the maintenance page, you can view it to verify by navigating to:

https://[Your_Jive_URL_]/___sbsstatic___/maintenance.html

Note: Please replace [Your_Jive_URL] with your Jive community's URL.

Choose files or drag and drop files
Was this article helpful?
Yes
No
  1. Priyanka Bhotika

  2. Posted

Comments