If GE Digital APM Servers are set up in a load-balanced configuration, then two Redis servers should be running, each on a separate system, with each GE Digital APM server/service configured to point to the separate systems. Redis servers can be configured either by Replication only Setup or by Automatic Fail-Over monitoring.
The first Redis server setup is used for caching. The second Redis server setup is used by GE Digital APM Scheduling Service to broadcast events to instances of GE Digital APM.
The following image illustrates how the Redis server setup used by GE Digital APM Scheduling Service communicates with instances of GE Digital APM over web socket protocol.
Replication only Setup
Redis can be configured with replication only. Replication only setup means that Redis will replicate data automatically to any configured slaves but in the event of a failure, an administrator must login and manually change a server to be master instead of slave.
A number of changes are needed in the Redis configuration file. To enable the Redis master-slave configuration:
Configure the save intervals.
save 900 1
save 300 10
save 60 10000
Configure the directory for the persisted data.
heapdir "c:\\path_to_where_data_is_stored\\"
Enable peristence.
persistence-available yes
Configure the slave to point to the master IP address.
slaveof <masterip> <masterport>
Configure the slave priority to a lower value than the master.
slave-priority 1
Note: The default priority is 100. You should configure the first slave and set the priority to 1, then set the priority of the second slave to 2, and so on.
Steps: Automatic fail-over monitoring and configuration
In this type of setup, the setup will automatically replicate any data changes from the master to the slave. Sentinel will then automatically detect a failure and re-configure the Redis slave to be the master in the event of a failure.
Note: It is is recommended that Redis be configured in a master/slave setup with Sentinel.
Make changes to the Sentinel "Conf" file:
redis-server --service-install sentinel.windows.conf --loglevel verbose --service-name Sentinel --sentinel
Configure the port in the Sentinel "conf" file.
Note: By default, the Redis server runs on TCP Port 6379. If using in a non-secure network then the port should be blocked from external access but be accessible from all other sentinels and all Redis servers. Sentinels should be 1 more than the number of slaves.
To use GE Digital APM, Redis, and Sentinel in a High Availability Configuration:
Open the file MeridiumAppSettings.xml in an application that you can use to modify XML script (e.g., Notepad).
Within the <Cache Service> tag, make changes to the following setting:
Within the <appSettings> tag, make changes to following settings:
useRedisBackplane : This should be set to true.
redisBackplaneUrl : This should contain connection details to the Redis server setup that will be used by GE Digital APM Scheduling Service. The servers are separated by a comma at the beginning of the connection string, and, if non-default ports are used, should include the port number.
Note: All servers (GE Digital APM, Redis, and Sentinel) in a High Availability configuration must use the same password.
Copyright © 2018 General Electric Company. All rights reserved.