Giải mã thuật toán đồng thuận Raft: Khi "Mean Girls" dạy bạn về hệ thống phân tán
Thuật toán đồng thuận Raft thường được coi là khó hiểu, nhưng bài viết này sử dụng bộ phim "Mean Girls" để giải thích cách hoạt động của nó một cách trực quan. Từ việc bầu chọn "Queen Bee" đến quy trình đạt được sự đồng thuận của đa số, bạn sẽ hiểu rõ cách dữ liệu được nhân bản an toàn trong các hệ thống phân tán.

Có bao giờ bạn cảm thấy bị thuật toán đồng thuận Raft "hành hạ" chưa? Hiểu về Raft thực sự không dễ dàng. Thậm chí, gần đây tôi đã thấy những cuộc thảo luận trên mạng xã hội mà ngay cả các lãnh đạo kỹ thuật của các công ty hạ tầng cũng bộc lộ sự thiếu hiểu biết về chủ đề này. Ý tôi là, bạn không đơn độc đâu. Nào, lũ tóp tóp, chúng ta sẽ quay lại trường cấp 3 (Hollywood).
Vậy, Raft là cái gì?
Raft là một thuật toán đồng thuận được sử dụng trong các hệ thống phân tán để đảm bảo dữ liệu được nhân bản một cách an toàn và nhất quán. Chỉ riêng câu đó thôi đã đủ gây nhầm lẫn rồi. Hy vọng rằng sự so sánh trong bài viết này sẽ giúp bạn hiểu cách nó hoạt động dễ dàng hơn. Để kỷ niệm Ngày Mean Girls Quốc gia ("ngày 3 tháng 10, anh ấy hỏi tôi hôm nay là ngày gì"), tôi xin trình bày thuật toán đồng thuận Raft được giải thích qua bộ phim Mean Girls.
Mean Girls analogy
Nhóm bạn và bản sao dữ liệu
Ta có thể giải thích đồng thuận Raft bằng cách sử dụng các bè phái (cliques) ở trường cấp 3, và không gì làm tốt điều này tốt hơn Mean Girls. Vào đầu bộ phim, Cady là một "tên quái vật rừng rừng được học ở nhà" và do đó không là thành viên của bất kỳ nhóm nào. Cô ấy là một mảnh dữ liệu đơn lẻ không có bản sao. Nếu cô ấy bị một chiếc xe buýt trường màu vàng khổng lồ đâm phải, những suy nghĩ của cô ấy về quần áo quân đội và dép xăng-đan sẽ chết theo cô ấy và không bao giờ trở thành xu hướng.
Tuy nhiên, nhóm "The Plastics" lại là một phần của một cụm (cluster). Nếu Regina bị xe buýt đâm, thông tin cô ấy có sẽ không mất đi, vì cô ấy đã chia sẻ nó với Karen và Gretchen. Nếu ai đó đang tìm cuốn "Burn Book", họ có thể tìm thấy nó bằng cách hỏi một trong hai thành viên còn lại, ngay cả khi Regina đang hồi phục trong bệnh viện. Nếu cô ấy không nhân bản kiến thức đó, không ai bao giờ có thể định vị được cuốn sách.
Mọi cụm bản sao đều cần một lãnh đạo Raft, hay còn gọi là "Queen Bee" (Chúa tể của những chú ong). Tất nhiên, vai đó thuộc về Regina George. Regina là người lãnh đạo The Plastics, một nhóm bao gồm Gretchen Wieners (bố cô ấy phát minh ra Toaster Strudel và mái tóc cô ấy đầy bí mật) và Karen Smith (cô ấy không phải là người thông minh nhất nhưng có siêu năng lực dự báo thời tiết). Gretchen và Karen là các bản sao theo dõi (followers). Mối quan hệ này tương tự như Raft ở chỗ: nếu không có sự đồng thuận giữa các bản sao, không hành động nào có thể được thực hiện.
Ý tôi là, bạn sẽ không mua một chiếc váy mà không hỏi bạn bè xem nó có đẹp trên mình trước chứ, đúng không? Chính xác! Đó là lý do bạn cần sự đồng thuận, hay còn gọi là phiếu bầu đa số. Nếu Regina đang mua sắm và muốn mua một chiếc váy, cô ấy không thể làm vậy trừ khi Gretchen hoặc Karen xác nhận giao dịch này.
Consensus in action
Hiểu về Quorum trong Raft
Môi trường trường cấp 3 trong Mean Girls bao gồm nhiều bè phái khác nhau. Thông thường, các nhóm này ngồi riêng với nhau ở giờ ăn trưa, không có sự giao thoa giữa các bàn. Hãy tưởng tượng khoảng cách giữa các bàn là sự chia rẽ có chủ đích giữa The Plastics và nhóm "Art Freaks" (còn được gọi là "Những người tuyệt vời nhất mà bạn từng gặp").
Hãy cho con số dễ hiểu nhé: The Plastics có 3 người và Art Freaks có 2 người, Damien và Janice.
Giả sử một khách hàng gửi tin nhắn đến The Plastics cùng lúc với một khách hàng khác gửi tin nhắn đến Art Freaks. Thông điệp "4 cái cho Glenn Coco" được gửi đến nhóm Plastics/nút (thông qua Regina, lãnh đạo Raft), và "0 cái cho Gretchen Wieners" được ghi vào nhóm Art Freaks/nút (thông qua Janice, lãnh đạo Raft).
Vì Art Freaks chỉ bao gồm hai người, Janice và Damien, họ không thể đạt được quorum (định mức), vì nhóm cần nhiều hơn hai thành viên để giải quyết hòa khi bỏ phiếu. Vì họ không thể đạt được quorum, việc xác nhận (commit) không thể thực hiện được. Tuy nhiên, vì nhóm của Regina có hơn hai thành viên (3), Regina có thể đảm bảo đa số và xác nhận thay đổi "4 cái cho Glenn Coco".
Bầu chọn lãnh đạo: Ai sẽ là Lãnh đạo Raft?
Khi Regina xuất hiện ở giờ ăn trưa mặc quần áo tập thể vào thứ Hai, cô ấy bị đuổi khỏi vị trí lãnh đạo của The Plastics một cách kịch tính. Tại các khoảng thời gian nhất định, một lãnh đạo phải gửi ra một loại "nhịp tim" (heartbeat) để duy trì trạng thái lãnh đạo của mình. Đó là cách họ nói "xin chào, tôi vẫn ở đây". Tương tự, bất kỳ Chúa tể nào xứng đáng đều cần gửi ra các tín hiệu về sự thống trị của mình ở định kỳ, và khi Regina không còn khẳng định được địa vị, cô ấy không còn là Chúa tể nữa.
The Plastics rõ ràng cần một lãnh đạo Raft mới. May mắn thay, Cady Heron đã bước lên như một ứng cử viên bản sao, và Gretchen cùng Karen mỗi người trả lời bằng phiếu bầu của họ để đảm bảo Cady trở thành Chúa tể mới. Bây giờ, The Plastics không thể làm gì mà không có chỉ đạo của Cady trước.
Leader Election
Khi Cady mặc quần áo quân đội và dép xăng-đan, cô ấy chỉ cần một thành viên khác của The Plastics đồng ý là nó "ngầu" để đạt được quorum (với 2 trên 3 phiếu bầu), và giờ phong cách của cô ấy được tất cả chấp nhận. Trạng thái của trường cấp 3 họ đã trở thành "quần áo quân đội và dép xăng-đan".
Vì Cady giờ là Chúa tể, hay lãnh đạo Raft, các yêu cầu từ khách hàng sẽ đến với Cady trước. Giả sử Damien là khách hàng đang nói với Cady khi cả lớp nữ sinh năm 3 đang ở trong phòng tập thể dục. Damien hét lên "cô ấy thậm chí không học ở trường này!". Vì Cady là lãnh đạo Raft, cô ấy là người phải nhận được thông tin này và chuyển tiếp nó cho phần còn lại của The Plastics. Một khi cô ấy có xác nhận từ ít nhất một Plastic khác, thông tin đã được xác nhận. Cô ấy có học ở đây không? Không, cô ấy chỉ có nhiều cảm xúc thôi. Karen biết cô ấy không học ở đây, Gretchen biết, cô Norbury biết, Janice Ian biết cô ấy không học ở đây. Mọi người đều biết cô ấy không học ở đây.
Hy vọng điều này làm cho thuật toán đồng thuận Raft trở nên dễ liên hệ hơn. Với mức độ nhất quán này trong CockroachDB, giới hạn không tồn tại! Đúng là "fetch" (tuyệt vời) phải không nào?
Bài viết liên quan

Phần mềm
Anthropic ra mắt Claude Opus 4.7: Nâng cấp mạnh mẽ cho lập trình nhưng vẫn thua Mythos Preview
16 tháng 4, 2026

Công nghệ
Qwen3.6-35B-A3B: Quyền năng Lập trình Agentic, Nay Đã Mở Cửa Cho Tất Cả
16 tháng 4, 2026

Công nghệ
Spotify thắng kiện 322 triệu USD từ nhóm pirate Anna's Archive nhưng đối mặt với bài toán thu hồi
16 tháng 4, 2026
