Hybrid Logical Clock
Original Paper: Logical Physical Clocksand Consistent Snapshots in Globally Distributed Databases
Logical Clock is an important family of algorithms for ordering events into distributed system.
HLC presents enhanced Logic Clock's Lamport, which eliminates the gap between practical and theory of synchronised time.
lc := hlc.New(&NTPClock{})
ts := lc.Now() // 1605806872706744321
Notes: Timestamp compatible with NTP-format. First 48bit presents physical time and other 16bit logical time (see chapter "6.2 Compact Timestamping using l and c" of paper).
receivedHlc := hlc.FromTimestamp(receivedTC)
_ = lc.Update(receivedHlc) // skip a new timestamp