ArticlesProjectsWeeklyCredentialsAbout

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
Source code
# HA Heartbeat Monitor (1997)

Primary/standby failover in plain Java.

## Run (two terminals)

```sh
mkdir -p build
find src -name '*.java' | xargs javac -d build

# Terminal 1: primary (sends heartbeats to localhost:9999)
java -cp build com.motorola.ha.PrimaryNode localhost 9999

# Terminal 2: standby (monitors port 9999, timeout 5s)
java -cp build com.motorola.ha.StandbyNode 9999 5000
```