Docs học tập
Backend nền tảng

C4 · Định lý CAP

Consistency

C4 · Nâng cao

Khi đường dây giữa hai chi nhánh bị đứt (Partition), bạn phải chọn: hoặc tạm ngừng phục vụ để số liệu luôn đúng (C), hoặc vẫn phục vụ dù số liệu có thể lệch (A).

Cốt lõi

  • Consistency
  • Availability
  • Partition Tolerance.
  • Hệ phân tán thì P là bắt buộc → thực chất chọn CP hoặc AP khi có phân vùng mạng.
  • AP: Dynamo, Cassandra. CP: HBase, MongoDB (cấu hình mặc định).
  • CA chỉ có ý nghĩa với hệ single-node, không phân tán.

Đánh đổi

Thanh toán, tồn kho → CP. Feed, like, view count → AP.

Trong thực tế

Cassandra = AP, MongoDB = CP.

Bug thường gặp

Chọn cơ sở dữ liệu ưu tiên khả dụng (AP) cho số dư tài khoản → hai cập nhật đồng thời ở hai node làm số dư lệch nhau.

Tự hỏi lại

Khi KHÔNG có partition thì đánh đổi gì? (PACELC: Latency vs Consistency). Eventual consistency là gì?

On this page