CAP theorem phát biểu rằng một distributed system chỉ có thể đảm bảo tối đa hai trong ba thuộc tính — Consistency, Availability và Partition tolerance — cùng một lúc. Vì network partition là không thể tránh khỏi, lựa chọn thực sự là giữa consistency và availability trong lúc xảy ra partition.
Ba thuộc tính
CONSISTENCY (C) → mọi lần đọc đều thấy bản ghi mới nhất (tất cả các node đồng thuận về dữ liệu)
AVAILABILITY (A) → mọi request đều nhận được phản hồi (hệ thống vẫn phản hồi)
PARTITION TOLERANCE (P) → hệ thống vẫn hoạt động bất chấp network partition
(giao tiếp giữa các node bị đứt)
→ CAP: bạn chỉ có thể đảm bảo trọn vẹn HAI trong ba thứ này cùng lúc.
