Failover specifics
- Last UpdatedMar 25, 2025
- 3 minute read
Failover modes
Adapters also supports client failover. Two adapters can be configured as part of a redundant group, so in the event of a connection loss to the failover endpoint or data source, the secondary adapter may take the place of the primary.
There are three modes that the client failover service can be configured to use:
-
Cold
A primary adapter is running and actively collecting data. A secondary adapter is in standby mode, but is not connected to the data source or actively collecting data. During a failover event, the newly promoted primary adapter establishes a new connection to the data source and then actively starts collecting data.
-
Warm
A primary adapter is running and actively collecting data. A secondary adapter is in standby mode and is actively connected to the data source but is not collecting data. During a failover event, the newly promoted primary adapter begins collecting data.
-
Hot
A primary adapter is running and actively collecting data. A secondary adapter is in standby mode, is connected to the data source, and is collecting data. The secondary adapter buffers data and flushes any missing data to the destination during a failover event.
Failover Role
The current failover Role is determined by the client failover endpoint. The current failover role is visible by querying the failover state, or by looking at the failover status diagnostics streams.
|
Role |
Description |
|---|---|
|
Primary |
When the adapter is in the Primary role, configured components start, collect, and egress data from the data source to the data endpoint(s). Note: While the adapter is in the Primary role, a change in Mode in the client failover configuration does not affect adapter behavior and data will continue to be egressed. |
|
Secondary |
When the adapter is in the Secondary role, adapter behavior varies based on the failover mode. |
When an adapter with a valid client failover configuration registers with an endpoint and it is the only adapter registered in the group, it becomes the Primary adapter instance. If the adapter is not the only adapter registered in the client failover group, the Primary adapter instance will be the adapter with the highest FailoverScore value. The failover score value ranges from 0 to 100 and depends on the number of outstations that exist in the Good state.
Workflow
The Client Failover service brokers the communication between adapters to ensure at least one adapter is always sending data to a destination. There are multiple facets to this communication.
The following workflow is established in the background when redundancy is first configured:
-
Each adapter sends a heartbeat and pertinent information to the Client Failover service.
-
The Client Failover service determines the health of each independent adapter by calculating a Failover Score. In order to calculate the Failover Score, the adapter monitors various aspects of each adapter, such as individual adapter components and data source connectivity.
Note: The Failover Score may be calculated differently depending on the protocol (e.g., OPC UA, MQTT)
-
The Client Failover service uses the Failover Score to assign a primary adapter and a secondary adapter. The adapter that has a higher failover score assumes the primary role.
-
After receiving role assignments from the Client Failover service, each individual adapter assumes its assigned role:
-
Primary adapters actively start sending data to the data source
-
Secondary adapters remain idle in accordance with the assigned failover mode
-
-
Failover events occur whenever the failover score of the secondary adapter is greater than the failover score of the primary adapter.