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.
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.
Copyright © 2018 General Electric Company. All rights reserved.