In a partition, a distributed system can’t have both consistency (every read returns the latest committed write) and availability (every request returns a non-error). You pick one; P is not optional. Memory aid: under partitions, choose C or A. CP means “stay correct, defer responses”; AP means “respond, may be stale”.
Consistency: linearizable reads across replicas.
Availability: every request gets a response.
Partition tolerance: required for any multi-node system.
Banking -> CP (don’t show stale balance). Shopping cart -> AP (stale inventory is fine).
partition happens
CP: refuse writes until partition heals
AP: serve from local replica, stale reads possible
CP for “don’t lie to me” workloads (banking, inventory billing). AP for “be useful even if stale” (feeds, social).