Distributed System Design - Time
NTP (Network Time Protocol) is a protocol that attempts to synchronize all participating computers to within a few milliseconds of UTC (Coordinated Universal Time).
NTP works well in a local area network with predictable latency, but doesn't perform as well over larger geographical distances and when subject to variable network latency. Therefore, wall-clock time should be treated with some suspicion in distributed systems. When trying to determine a strict ordering of events, don't use wall-clock timestamps that originate from multiple systems.
Vector clocks
Vector clocks are similar to Lamport timestamps, but the system maintains a vector of timestamps, one for each of the N participating processes, rather than one global logical timestamp. The vectors are synchronized via message passing, and can be used to determine a partial ordering or causality of events.
Rubidium atomic clock
Some servers are equipped with an internal rubidium atomic clock to maintain precise time in the event NTP or GPS-time is lost or inaccessible.