Suppose we have only two nodes A and B.
When we issue these two commands on the node A,
$ curl -X PUT -d one .../v1/kv/key1
$ curl -X PUT -d two .../v1/kv/key2
(ie. PUT one key1
happens-before PUT two key2
) and then GET
of /v1/kv/key2
on the node B returned two
, is it guaranteed that GET
of /v1/kv/key1
on the node B returns one
? In other words, does Consul KVS honor happens-before relationship between the two writes on the node A?
Consul uses a consensus protocol to provide Consistency (as defined by CAP).
Yeah, but my understanding is the CAP theorem doesn't talk about multiple registers. These two writes may eventually propagate to the node B, but is it guaranteed we will never see an unexpected intermediate state?