Consistency vs Availability (Nhất quán vs Khả dụng)

Cặp “bài trùng” trong hệ phân tán - thường được hỏi bạn hiểu đánh đổi giữa hai yếu tố này ra sao.

Hai khái niệm

  • Consistency (nhất quán): mọi node/thành phần đều nhìn thấy cùng một dữ liệu tại một thời điểm. Sau khi cập nhật ở một nơi, mọi nơi khác cũng phải có dữ liệu mới ngay.
  • Availability (khả dụng): hệ thống luôn sẵn sàng phản hồi mọi yêu cầu hợp lệ, không “đơ” dù một số thành phần lỗi.

Vì sao mâu thuẫn

Để nhất quán tuyệt đối, đôi khi phải hy sinh khả dụng (tạm ngừng để đồng bộ). Để luôn sẵn sàng, phải chấp nhận dữ liệu chưa hoàn toàn cập nhật. Ví dụ ATM: có thể hiển thị số dư cũ (chưa kịp đồng bộ) nhưng vẫn cho rút tiền → ưu tiên khả dụng.

Nhiệm vụ kỹ sư: tìm điểm cân bằng phù hợp với yêu cầu ứng dụng. Đây là bản chất của CAP Theorem.

Cách trình bày khi phỏng vấn

Nhớ ba điều: hiểu nhu cầu, biết đánh đổi, giải thích mạch lạc. Ví dụ: “Với giao dịch tiền → nhất quán mạnh; với bảng thông báo/tin tức → eventual consistency để tải nhanh hơn.”

Liên quan