Implementing redundancy and failover for mission-critical systems.
Parent Page: Deployment (Reference)
Redundancy Architecture
Hot Standby Configuration
[Primary Server] [Secondary Server]
TServer.exe <--> TServer.exe
(Active) (Standby)
| |
[Shared Storage or Database Sync]
Synchronization Methods:
- Real-time tag synchronization
- Database replication
- File system mirroring
Configuration Steps
Primary Server Setup
- Enable Redundancy: Runtime → Redundancy → Enable
- Configure Primary:
xml
<redundancy> <role>Primary</role> <partner>192.168.1.101</partner> <heartbeat>1000</heartbeat> <timeout>5000</timeout> </redundancy>
- Set Virtual IP: For transparent failover
Secondary Server Setup
- Configure Secondary:
xml
<redundancy> <role>Secondary</role> <partner>192.168.1.100</partner> <syncMode>Full</syncMode> </redundancy>
- Synchronization Settings:
- Tag values: Real-time
- Alarms: Real-time
- History: Periodic
Failover Mechanisms
Automatic Failover
Heartbeat Monitoring:
- Interval: 1 second
- Timeout: 5 seconds
- Failure count: 3
Failover Process:
- Heartbeat loss detected
- Secondary validates primary failure
- Secondary activates
- Clients redirected
- Alarms generated
Manual Switchover
For maintenance:
cmd
FrameworXCmd.exe /switchover /target:secondary
Database Redundancy
SQL Server Always On
Configuration:
sql
ALTER AVAILABILITY GROUP [FrameworX_AG]
ADD DATABASE [FrameworX_Production];
Database Mirroring
For SQL Server Standard:
sql
ALTER DATABASE FrameworX
SET PARTNER = 'TCP://Secondary:5022'
Client Behavior
Connection Management
Client Failover:
xml
<connectionList>
<primary>192.168.1.100:10108</primary>
<secondary>192.168.1.101:10108</secondary>
<retryInterval>5000</retryInterval>
</connectionList>
Session Persistence
- Maintain client state
- Preserve alarm acknowledgments
- Continue trends without gaps
Testing Procedures
Failover Test
- Simulate Primary Failure:
cmd
Stop-Service "FrameworX Runtime"
- Verify Secondary Activation:
- Check service status
- Verify client connections
- Confirm data continuity
- Test Failback:
cmd
Start-Service "FrameworX Runtime"
Performance Impact
Monitor during failover:
- Failover time < 30 seconds
- Data loss = 0
- Client reconnection < 10 seconds