Configuring the Cache Servers for High-Availability

In a multiple data center HA configuration, there are special requirements for handling the cache servers.

Every Jive deployment larger than a single node is going to require at least a single node to provide caching services. Within a single data center, high availability can be achieved through the use of three or more cache servers (two cache servers within a single data center is not supported and can cause data loss), all of which you configure via the Admin Console.

CAUTION:

If you are implementing an HA caching configuration with Jive, you must use three or more cache servers. Two are not supported. This is because each cache PUT operation must succeed on two different cache servers. Therefore, be aware that HA implementations may result in significant performance issues to accommodate successful writes across multiple cache servers.

Use jive set cache.hostnames list_of_hostnames to set the cache machine addresses. You can use the comma separated list of IP addresses or domain names, but be consistent with the format (use IP addresses or domain names, but not both) and order you use. This list should be the same on all cache servers, and well as in the Admin Console. For more on setting up cache servers, see Adding a Cache Server Machine.

Install the cache server on a machine separate from the web application nodes in the cluster. The cache server is available to all the web app nodes in the cluster (in fact, you can't create a cluster without declaring the address of a cache server). For more information about how caching works in the application, be sure to read In-memory Caching.

CAUTION:
Only one data center can be the active/live system. Therefore, caching requests should never be sent from a web app node in data center A to a cache node in data center B.

Setting Up the Connection String

The application requires you to add a DNS name or IP address for every cache server deployed with the application. You set this connection string via the Admin Console: System > Settings > Caches. This string is then stored in the core application databases. For more on what must be persisted in the core application database during a disaster recovery, see Restoring the Database With Persistent Properties.

Because the web application nodes require low latency, the web application nodes must not make cache requests across geographically-distributed data centers. To deal with this in a multiple data center HA configuration, you need to correctly set up the DNS name or IP address of the cache server(s). Here's how you do that: