Thuật toán đồng thuận Raft được giải thích thông qua "Những cô gái xấu tính"
Backend·Hacker News·0 lượt xem

Thuật toán đồng thuận Raft được giải thích thông qua "Những cô gái xấu tính"

The Raft Consensus Algorithm Explained Through "Mean Girls"

Hãy giơ tay nếu bạn đã từng là nạn nhân của Thuật toán đồng thuận Raft. Hiểu Raft có thể khó khăn. Trên thực tế, gần đây tôi đã thấy các cuộc trò chuyện trên mạng xã hội trong đó các kỹ thuật thực tế...

Hãy giơ tay nếu cá nhân bạn đã từng là nạn nhân của Thuật toán đồng thuận Raft.

giphy

Việc hiểu Raft có thể rất khó khăn. Trên thực tế, gần đây tôi đã thấy các cuộc trò chuyện trên mạng xã hội trong đó các nhà lãnh đạo kỹ thuật thực tế của các công ty cơ sở hạ tầng thể hiện sự thiếu hiểu biết (!). Vấn đề là, bạn không đơn độc. Vào đi, kẻ thua cuộc, chúng ta sẽ quay trở lại trường trung học (Hollywood).

Raft là gì?Copy Icon

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 rằng dữ liệu được sao chép một cách an toàn và nhất quán. Điều đó chỉ một câu thôi cũng có thể gây nhầm lẫn. Hy vọng sự tương tự trong bài viết này có thể giúp mọi người hiểu cách thức hoạt động của nó. Để vinh danh ngày Mean Girls quốc gia (“vào ngày 3 tháng 10, anh ấy hỏi tôi hôm nay là ngày gì”), tôi trình bày Thuật toán đồng thuận Raft như được giải thích qua phim Mean Girls. (Để có thông tin tổng quan tuyệt vời, mang tính kỹ thuật hơn về Raft, chúng tôi khuyên dùng The Secret Lives of Data).

giphy (1)

Sự đồng thuận của Raft có thể được giải thích bằng cách sử dụng các bè phái ở trường trung học và không có gì nó tốt hơn Mean Girls. Ở đầu phim, Cady là một “kẻ quái dị học ở nhà” và do đó không phải là thành viên của một nhóm nào. Cô ấy là một phần dữ liệu duy nhất không có bản sao. Nếu cô bị một chiếc xe buýt lớn màu vàng tông vào, những suy nghĩ về quần quân đội và dép xỏ ngón sẽ chết theo cô và sẽ không bao giờ trở thành xu hướng.

Tuy nhiên, Nhựa là một phần của một cụm. Nếu Regina bị xe buýt trường học đâm, thông tin cô ấy có sẽ không chết theo cô ấy, vì cô ấy đã chia sẻ nó với Karen và Gretchen. Nếu ai đó đang tìm 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 tái tạo kiến ​​thức đó thì sẽ không ai có thể tìm được cuốn sách.

Mỗi cụm bản sao đều cần phải có một Thủ lĩnh Raft hoặc Ong chúa. Tất nhiên, đây sẽ là Regina George. Regina là thủ lĩnh của Plastics, một nhóm bao gồm Gretchen Wieners (cha cô đã phát minh ra Toaster Strudel và mái tóc của cô chứa đầy bí mật) và Karen Smith (cô không phải là bóng đèn sáng nhất và cô có siêu năng lực dự báo thời tiết). Gretchen và Karen là bản sao của người theo dõi.

Động lực này tương tự như Raft ở chỗ nếu không có sự đồng thuận giữa các bản sao thì không thể thực hiện hành động nào. Ý 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ó hợp với bạn không trước, phải không? Chính xác! Đó là lý do tại sao bạn cần sự đồng thuận hoặc bỏ phiếu theo đa số. Nếu Regina đang đi mua sắm và muốn mua một chiếc váy thì cô ấy không thể làm vậy trừ khi Gretchen hoặc Karen đã ký xác nhận mua hàng.

Giả sử Regina nói với Gretchen và Karen rằng vào thứ Tư, họ mặc đồ màu hồng. Gretchen háo hức chấp thuận trước. Bây giờ Regina đã có sự xác nhận của Gretchen, phần lớn Người Nhựa (⅔) ủng hộ việc mặc màu hồng vào Thứ Tư và đã đạt được sự đồng thuận. Bây giờ nó là chính thức.

giphy (2)

Hiểu Nhóm túc số ở RaftCopy Icon

Môi trường trung học của Mean Girls bao gồm nhiều nhóm khác nhau. Thông thường, những nhóm này ngồi cùng nhau trong bữa trưa, không xen kẽ giữa các bàn. Hãy coi khoảng không gian giữa các bàn là sự phân chia có chủ ý giữa Người nhựa và “Người kỳ dị nghệ thuật” (còn được gọi là “Những người vĩ đại nhất mà bạn từng gặp.”) Hãy làm cho các con số trở nên dễ hiểu và hãy nghĩ Người nhựa có 3 người và Người kỳ dị nghệ thuật có 2 người, Damien và Janice.

Giả sử một khách hàng đã gửi tin nhắn đến Plastics cùng lúc với một khách hàng khác đã gửi thông điệp tới Art Freaks. ‘4 cho Glenn Coco’ đã được gửi tới nhóm/nút Plastics (thông qua Regina, Thủ lĩnh Raft) và ‘0 cho Gretchen Wieners’ đã được viết tới nhóm/nút Art Freaks (thông qua Janice, thủ lĩnh Raft).

Vì Art Freaks chỉ gồm có hai người, Janice và Damien, nên họ không thể đạt được số đại biểu cần thiết vì nhóm cần nhiều hơn hai thành viên để giải quyết tình trạng hòa khi bỏ phiếu. Vì họ không thể đạt được số đại biểu nên thậm chí không thể thực hiện được cam kết. Tuy nhiên, vì nhóm của cô ấy có nhiều hơn hai thành viên (3), Regina đã có thể đảm bảo đa số và cam kết thay đổi '4 cho Glenn Coco.'

giphy (3)

Bầu cử người lãnh đạo: Ai sẽ trở thành người lãnh đạo bè?Copy Icon

Khi Regina xuất hiện trong bữa trưa với chiếc quần thể thao vào thứ Hai cô ấy bị loại khỏi vai trò của mình một cách đáng kinh ngạc với tư cách là người lãnh đạo của Nhựa. Vào những khoảng thời gian nhất định, người lãnh đạo phải gửi đi một nhịp tim để duy trì vị thế lãnh đạo của mình. Đây là cách họ nói “xin chào, tôi vẫn ở đây”. Tương tự như vậy, bất kỳ Ong chúa xứng đáng nào cũng cần thường xuyên gửi tín hiệu về sự thống trị của mình và khi Regina không thể khẳng định địa vị của mình nữa thì cô ấy không còn là Ong chúa nữa.

Nhóm Nhựa rõ ràng cần một thủ lĩnh Raft mới. May mắn thay, Cady Heron trở thành bản sao ứng cử viên, Gretchen và Karen mỗi người trả lời bằng phiếu bầu của mình để đảm bảo Cady là Ong chúa mới. Giờ đây, Plastics không thể làm bất cứ điều gì nếu không có sự chỉ đạo của Cady trước.

Khi Cady mặc quần quân đội và đi dép tông, cô ấy chỉ cần một thành viên khác của Plastics đồng ý rằng thật tuyệt khi đạt được đủ số đại biểu (với 2 trên 3 phiếu bầu) và bây giờ phong cách của cô ấy đã được tất cả mọi người chấp nhận. Tình trạng trường trung học của họ đã trở thành “quần quân đội và dép xỏ ngón”.

giphy (4)

Vì Cady hiện là Ong chúa hoặc thủ lĩnh Raft nên các yêu cầu từ khách hàng sẽ được chuyển đến Cady trước tiên. Giả sử Damien là khách hàng đang nói chuyện với Cady khi toàn bộ lớp nữ sinh cấp 2 đang ở trong phòng tập thể dục. Damien hét lên "cô ấy thậm chí không đến đây!" Bởi vì Cady là thủ lĩnh của Raft nên cô ấy phải là người nhận được thông tin này và chuyển nó đến những người còn lại trong nhóm Plastics. Sau khi cô ấy nhận được xác nhận từ ít nhất một trong các Nhựa khác, thông tin đã được cam kết.

Cô ấy có đến đây không? Không, cô ấy chỉ có rất nhiều cảm xúc thôi. Karen biết cô ấy không đến đây, Gretchen biết cô ấy không đến đây, cô John. Norbury biết cô ấy không đến đây, Janice Ian biết cô ấy thậm chí không đến đây. Mọi người đều biết cô ấy thậm chí không đến đây.

giphy (5)

Hy vọng rằng điều này làm cho thuật toán đồng thuận Raft trở nên dễ hiểu hơn. Với mức độ nhất quán này trong CockroachDB, giới hạn không tồn tại! Tìm nạp như thế nào?

giphy (6)

Tác giả: vermilingua

#discussion