Paxosアルゴリズムは、2F + 1プロセッサを使用する場合、最大Fの障害に耐えることができます。私が理解している限り、このアルゴリズムは固定数のプロセッサでのみ機能します。ノードを動的に追加および削除できる動的環境でこのアルゴリズムを使用することは可能ですか?
4 に答える
はい、それは可能です、それにいくつかの論文さえあります。私が覚えていることから、それを行う方法について少し読んだことがここに説明されていましたhttp://research.microsoft.com/pubs/64634/web-dsn-submission.pdfそれがあなたが求めていたものであることを願っています。「ダイナミックパクソス」を探してください。
Stoppable Paxosペーパーは少し理解しやすく、安全な再構成(ノードの追加と削除)を可能にします: http: //research.microsoft.com/apps/pubs/default.aspx?id = 101826
ノードの絶対最大数がある場合でも、機能するはずです。ただし、動的ノード数が6で、最大数が11であるという状況が残るため、1つのノードに障害が発生すると、運が悪くなります(存在しないノードはデフォルトで失敗します)。ノードを削除および追加する場合は、削除したノードの状態を追加したノードに復元して、障害としてカウントされないようにすることができます。
はい。Gryadkaは、500行の動的再構成をサポートするJavaScriptPaxos実装です。これは、VerticalPaxosとRaftのアイデアに基づいています。