Configuring 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. For more information on single data center configuration, see Designing single data center HA configuration.

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 information on setting up cache servers, see Adding cache server machines.

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, see 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 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 at System > Settings > Caches. This string is then stored in the Core Application databases. For more information on what must be persisted in the core application database during disaster recovery, see Restoring 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 servers. Here's how you do that:

  • If a DNS name is used to specify the location of the cache servers (this is the preferred method), the names must resolve to a cache server short name on the web application nodes in each respective data center.

    Using the web node names from the example above, but substituting a DNS short name ex:(cache01) in the configuration instead of an IP address, the DNS name must resolve to the cache server cache01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com, and must resolve to cache01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.

  • If an IP address is used to specify the location of the cache servers, it must be a virtual IP address that resolves to a cache server in the local data center.

    For example, given web application nodes wa01-dcA.example.com and wa02-dcA.example.com, both in data center A, and web application nodes wa01-dcB.example.com and wa02-dcB.example.com in data center B, all pointing to the virtual IP address 172.16.100.3 in the Admin Console cache server configuration page, the IP address must resolve to the cache server cache01-dcA.example.com when requested by either wa01-dcA.example.com or wa02-dcA.example.com, and must resolve to cache01-dcB.example.com when requested by either of the web application nodes wa01-dcB.example.com or wa02-dcB.example.com.

For more information on multiple data center HA configuration, see Designing multiple data center HA configuration.