Distributed system is Partial failure + unbounded latencyfor both, we have zero control over it. To deal with the problem, "time" and "clocks" are sug

When we draw events that happen in two processes, we don't know what event causes one another in what time. The diaram like the following seems benign

In the previous post, we discussed why we shouldn't use physical clock in distributed system. In this post, I'll be talking about number of logical cl

In the previous post, The very first kind of logical clock - Lamport clock - was covered.In this post, vector clock follows. If A -> B, then Lc(A) <

FIFO delivery > If a process sends a message(m1) after m1, then any process delivering both messages must deliver m1 first and m2. Violation of FIFO

Read this post first if you haven't already. If a process sends message m2 after message m1, then any process delivering both must deliver m1 first. M

From the last post, we learned how to prevent causal anomaly using vector clock: So, here the message with vector clock \[1,1,0] received on Carl's s

These are ways that potential causality is used in distributed system:Determining order of events after the fact(debugging)Causal ordering of events a

The Chandy–Lamport algorithm is a snapshot algorithm that is used in distributed systems for recording a consistent global state of an asynchronous sy

Quorum is quite a well-known concept that allows for tunable consistency. But then, it is also weak at (mostly) inter-datacenter partition. Imagine yo

Read these articles if you haven't already:Chandy-Lamport Algorithm(1) - Consistent global snapshotsChandy-Lamport Algorithm(2) - In depthCheckpointin
this is the same word that describes the actor that manages consensus in consensus algorithm the actor that manages replication within the shardHoweve