Hacker News new | ask | show | jobs
by Chickenosaurus 2896 days ago
Partition tolerance isn't about a system's behavior when some part of the system is down. Partition tolerance is about preventing diverging state in multiple sets of nodes that can't reach the nodes in another set, usually because of networking problems.
2 comments

>when some part of the system is down

>usually because of networking problems.

In distributed systems, those are the same thing.

If I am a node -- n1, communicating with various other nodes, the only way I can tell if another node -- n2 is alive or not, is sending messages to it and receiving responses. If the network is having issues and I can't communicate with it, for all intents and purposes, that node n2 is down from my perspective n1.

Edit: Also, diverging of state relates to consistency and not partition tolerance.

There is a difference. If you can not communicate with a group of nodes they may still process requests if they are just unreachable and not down. So you must assume they are up and potentially processing requests instead of assuming they are down and not causing any trouble if you care about consistency.
Partition tolerance is about preventing inconsistency (as you say) OR availability (turn off the system when it partitions). That's what the CAP theorem is about.

You can get partition tolerance at the expense of availability,for by refusing writes during a partition.