Thema: consensus
-
Was ein Raft-Cluster garantiert: Mehrheiten, ein Leader und linearisierbare Lesevorgänge
Konsenssysteme wie etcd (Raft) lassen eine Mehrheit der Server sich auf ein geordnetes Log einigen; sie bleiben bei beliebig vielen Ausfällen korrekt, kommen aber nur voran, solange eine Mehrheit erreichbar ist. Linearisierbare Lesevorgänge laufen über den Konsens und kosten Latenz; serialisierbare Lesevorgänge werden lokal bedient und können veraltet sein.
-
Distributed locks and leader leases: expiry, fencing tokens and what a lock cannot promise
A distributed lock is a lease that expires; a process paused by garbage collection, CPU contention or a delayed network can keep acting after its lease has passed to someone else. Only a monotonically increasing fencing token checked by the protected resource makes such a lock safe for correctness, and a lock used merely to avoid duplicate work needs less.
-
Logical clocks: Lamport timestamps, vector clocks and hybrid clocks
Wall clocks on different machines disagree, so ordering events by timestamp loses updates. Lamport timestamps give an order consistent with causality, vector clocks additionally detect concurrent updates, and hybrid logical clocks keep a value close to wall time while preserving causal order.
Maschinenlesbar: JSON