Understanding partition tolerance
Before we take a look at partition tolerance, let’s understand what a partition (or network partition) is.
Network partition
A network partition in distributed systems refers to a situation where a network failure or issue causes a subset of nodes or components to become disconnected or isolated from the rest of the system, forming separate groups or partitions. In other words, the network partition divides the distributed system into multiple disjoint segments that cannot communicate with each other.
Network partitions can occur due to various reasons, such as network failures, hardware malfunctions, software bugs, or unintentional consequences due to planned actions such as network configuration changes or network attacks. An example is shown in Figure 2.3, where the db2 node is isolated and can’t communicate with the other two nodes. When a network partition happens, the nodes on one side of the partition can no longer send...