🧱 What Is Partition Tolerance?
Partition Tolerance means:
The system keeps working even if parts of the network can’t talk to each other.
Imagine a system made of multiple servers (or nodes), often in different data centers or locations. If the network between them breaks, the system is said to have a network partition — like a split in communication.
🔌 Think of it Like:
Two parts of your system are on walkie-talkies, and suddenly the signal dies between them. They’re now in separate rooms, and can’t talk — this is a partition.
🧠 Partition Tolerance = “Don’t Crash When Network Breaks”
Even though servers can’t communicate, each side of the system still:
- Accepts requests
- Processes what it can
- Recovers and syncs back up when the connection is restored
🍰 Simple Cake Shop Example (Like Before)
You and your friend run cake shops in two cities. You use an app to sync orders.
- A customer places an order in Yekaterinburg.
- But suddenly, the internet breaks between your cities.
- Your systems can’t sync orders anymore (this is a partition).
- With Partition Tolerance, both of you keep taking orders locally.
- Later, when the connection returns, you sync the orders.
💡 Key Idea
Partition tolerance = surviving communication failure
The system might:
- Return slightly outdated data (eventual consistency)
- Temporarily stop some actions (e.g., writes)
- But it does not crash
📦 Examples of Partition-Tolerant Systems
System | Behavior During Partition |
---|---|
Cassandra | Accepts writes and syncs later (AP system) |
MongoDB | Can be CP or AP depending on config |
DynamoDB | Accepts data during partitions, syncs later |
Kafka | Brokers operate independently if needed |
📊 Summary
Term | Meaning |
---|---|
Partition | Network split — servers can’t talk to each other |
Tolerance | System keeps running despite the split |
Why Important? | Networks can fail anytime — tolerance keeps service alive |
Want a little drawing idea?
Imagine three connected dots (servers) in a triangle. Cut one connection — they’re partitioned. If they keep answering requests, they’re partition-tolerant.