紙が言うように:
選挙の安全性: 任期中に選出できるリーダーは最大 1 人です。§5.2
ただし、システムには複数のリーダーが存在する場合があります。Raft が約束できるのは、与えられたタームに 1 人のリーダーしかいないということだけです。では、複数のクライアントを持っている場合、異なるデータが得られるのではないでしょうか? これにより、Raft がコンセンサス アルゴリズムになるにはどうすればよいでしょうか?
ここで私が理解できないこと、誰かが説明できることはありますか?
紙が言うように:
選挙の安全性: 任期中に選出できるリーダーは最大 1 人です。§5.2
ただし、システムには複数のリーダーが存在する場合があります。Raft が約束できるのは、与えられたタームに 1 人のリーダーしかいないということだけです。では、複数のクライアントを持っている場合、異なるデータが得られるのではないでしょうか? これにより、Raft がコンセンサス アルゴリズムになるにはどうすればよいでしょうか?
ここで私が理解できないこと、誰かが説明できることはありますか?
過半数の票を獲得した候補ノードのみがリードできます。クラスター内に多数派が 1 つしか存在しない場合、他のノードは、別のリーダーに既に投票した少なくとも 1 つのノードに連絡しないと、多数派から聞くことができません。他のリーダーの噂を聞いた候補者は辞任します。これがどのように起こるかを示す素敵なアニメーションです: http://thesecretlivesofdata.com/raft/#election
クラスター内のすべてのマシンは、現在の用語を、他のマシンから取得したすべての要求と共に受け取った用語と比較します。また、「リーダー」がリーダーとして行動しようとするときはいつでも、マシンの大部分が「リーダー」よりも長い任期を持っているため、クラスターの残りの部分から過半数の承認を得ることはありません。これにより、実際のリーダーのみがクライアントの要求に応答できることが保証されます。
さらに、Raft によると、この「リーダー」は、より長い期間の拒否を受け取るとすぐにフォロワーになります。