Consistency is an important property for systems to have to keep a state that makes sense.

Consistency means that all nodes return the same value (i.e. all nodes have the same view of the data).

image.png

Availability means that node failures do not prevent operation of the system.

image.png

Partition Tolerance means that the system operates in the presence of a network partition.

image.png

CAP Theorem

There are 3 properties of a distributed system:

A version of the theorem states that all 3 of the above properties are not possible - only 2 are possible.

This suggests there are 3 kinds of distributed systems:

image.png