Problem Statement
When distributed systems or services communicate, failures like crashes or network partitions can go unnoticed, causing stale or inconsistent states. Without a way to detect if a component is alive, the system may wait indefinitely or make wrong decisions based on outdated information.
