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.
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.
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 Restoring database with persistent properties.
. 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, seeBecause 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 servercache01-dcA.example.com
when requested by eitherwa01-dcA.example.com
orwa02-dcA.example.com
, and must resolve tocache01-dcB.example.com
when requested by either of the web application nodeswa01-dcB.example.com
orwa02-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
andwa02-dcA.example.com
, both in data center A, and web application nodeswa01-dcB.example.com
andwa02-dcB.example.com
in data center B, all pointing to the virtual IP address172.16.100.3
in the Admin Console cache server configuration page, the IP address must resolve to the cache servercache01-dcA.example.com
when requested by eitherwa01-dcA.example.com
orwa02-dcA.example.com
, and must resolve tocache01-dcB.example.com
when requested by either of the web application nodeswa01-dcB.example.com
orwa02-dcB.example.com
.
For more information on multiple data center HA configuration, see Designing multiple data center HA configuration.