HA Heartbeat Monitor (1997)

Java implementation of the primary/standby heartbeat and failover mechanism we used for the NMS at Motorola — no external libraries, just sockets and threads.

high-availabilityarchitecturereliability

HA Heartbeat Monitor (1997)

A self-contained primary/standby HA system in plain Java.

Contents

  • HeartbeatSender.java — runs on primary, sends UDP heartbeats every 1s
  • HeartbeatMonitor.java — runs on standby, triggers failover after 5s silence
  • StateReplicator.java — ships state changes from primary to standby over TCP
  • FailoverController.java — orchestrates promotion of standby to primary

Running (two terminals)

# Terminal 1 — primary node
java -cp build com.motorola.ha.PrimaryNode

# Terminal 2 — standby node
java -cp build com.motorola.ha.StandbyNode

# Kill terminal 1 — standby promotes itself after 5 seconds