It is not clear for me how the events are happening or are connected in the example. The description of the Vector clock says that it will have the following format:
[vector-clock][worker-id]
And basically it is the description of such format:
- Sign bit: A single bit is assigned as a sign bit, and its value will always be zero.
- Vector clock: This is 53 bits and the counters of each node.
- Worker number: This is 10 bits. It gives us 2^{10} = 1,024 worker IDs.
That being said, in Node A, Node B and Node C, I’m assuming there is some relationship in the events and that is the reason the arrows are going from one side to the other. But I don’t understand when and how the arrows are jumping.
Why the arrows in slide 3 and 5 for example, are sort of “in the middle of” something? and also how is A1and B1 connected by the arrow? but B2 is not “connected” by an arrow to C2, C3?
Also how is the [x,y,z] format of the vector clock changing? Why there are cases where no new ID is needed to be generated?
Course: Grokking Modern System Design Interview for Engineers & Managers - Learn Interactively
Lesson: Unique IDs with Causality - Grokking Modern System Design Interview for Engineers & Managers