Each node maintains a node membership list, which contains member IDs and heartbeat counters.
Each node periodically increments its heartbeat counter.
Each node periodically sends heartbeats to a set of random nodes, which in turn propagate to another set of nodes.
Once nodes receive heartbeats, the membership list is updated to the latest info.
•If the heartbeat has not increased for more than predefined periods, the member is considered offline.