Redis
About Configuring the Redis Server
The configuration settings for the Redis server are controlled through the conf file that is specified when installing the service. You can change settings by modifying the file and restarting the service to apply the changes. You can also use the CONFIG GET and CONFIG SET commands from a Redis client to view or alter the server configuration.
Configure Server and Ports
By default, the Redis server runs on TCP Port 6379.
- If the GE Digital APM server and the Redis server are on same machine, then connections are allowed from the local server.
- If the GE Digital APM server and the Redis server are on different machines, then Port 6379 must be accessible between the Client and the Server. Any firewalls between the systems must be configured to support traffic over this port. The default port is changed in the conf file to 6379 by adjusting the port value.
Configure Secure Access
It is recommended to always use Redis in an environment in which the network and the Redis server are secured.
- If the GE Digital APM server and the Redis server are on same machine, then Redis can be secured by blocking external access to the network port (port 6379), allowing connections only from the local server.
- If the GE Digital APM server and the Redis server are on different machines, you can secure the access by:
- Configuring Redis to use a password.Note: By default, Redis is configured without a password.
When using a password on the Redis server, you must configure the connection string to include the password.
- On the GE Digital APM Server, access the folder C:\ProgramData\Meridium, and then, in an application that you can use to modify XML script (for example, Notepad), open the file MeridiumAppSettings.xml.
- Within the <cacheServiceUrl> setting, change the default value localhost to localhost,password=<Redis password>, where <Redis password> is the password for the Redis server.
Note: The password in the .XML file can be encrypted by running MeridiumCachePasswordUtility.exe from a command prompt, passing in C:\ProgramData\Meridium\MeridiumAppSettings.xml as a command line parameter. -
Setting up the firewall on the Redis server to only allow connections from the GE Digital APM servers.
- Configuring Redis to use a password.
Standard Deployment Architecture
By default, the standard single system deployment architecture includes the Redis server on the same system as the GE Digital APM Server.
Set Up the GE Digital APM Server - Medium Cache Configuration
GE Digital APM Servers are set up either using a medium cache configuration or a high availability configuration.
About this task
In a standard deployment, the Redis server is on the same system as the GE Digital APM Server.
Procedure
Install Redis - High Availability Configuration
GE Digital APM Servers are set up either using a medium cache configuration or a high availability configuration.
About this task
Procedure
Setup GE Digital APM Server - High Availability Configuration
About this task
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.
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:
Procedure
About Redis
Redis is a high-performance, NoSQL key-value database typically used for caching data to scale high-traffic websites. GE Digital APM uses Redis for caching purposes and to ensure a consistent shared cache among the various servers and services that make up a GE Digital APM installation.
If GE Digital APM servers are set up in a load-balanced configuration, then a separate Redis server is also used as an intermediate to broadcast events from the Meridium Scheduling Service to instances of GE Digital APM that are connected to different GE Digital APM Servers using the WebSocket protocol.
Redis is an open source software component licensed under the Three Clause BSD License.
More Details
Redis provides a basic Pub-Sub messaging infrastructure that allows the server to notify subscribed clients of changes or various events that occur on the server. The GE Digital APM uses this feature to notify servers/services when cached data has changed, caches expire, or caches are removed. This feature, along with the Meridium Notification Service, is used for change notification. Redis events specifically handle cached/static data such as metadata, while the Meridium Notification Service handles more dynamic changes such as Entity inserts/updates. Redis is used as an in-memory cache to store user session information, various types of metadata (e.g., family definitions, field definitions, security groups, etc.), and Catalog data.
Meridium Scheduling Service runs on each GE Digital APM Server in a load-balanced configuration. For a user session, an instance of GE Digital APM connects to one of the GE Digital APM Servers using the Websocket protocol, but the background job can run on any server in a load-balanced configuration. Meridium Scheduling Service sends the message to the Redis server, and the Redis server then relays the message to all GE Digital APM Servers. Finally, the GE Digital APM Server sends this message to the GE Digital APM instance connected using the WebSocket protocol.