「paxos アルゴリズムのインスタンス」とは何を指していますか? 各インスタンスは、外部クライアントからの入力/コマンドがあることを示していますか? 各インスタンスの paxos アルゴリズムは並行して実行されますか???
別の質問で「インスタンス」の質問に答えたので、ここで要約します。
基本的に、アルゴリズムの 1 回の実行を参照するために「クイックソートのインスタンス」と言うようなものです。Paxos の場合、リストをソートする代わりに、複数のホストにわたって値を選択します。paxos の複数のインスタンスを並行して実行できます。参加者はこれを認識しておく必要があるため、明示的に言及することをお勧めします。
提案を発行できる「著名な」提案者が 1 人しかいない場合、paxos アルゴリズムと 2 フェーズ コミット アルゴリズムの違いは何ですか?
Distinguished Proposerは最適化であり、アルゴリズムの要件ではありません。Distinguished Proposer は、2 つの提案者が準備/受け入れメッセージを飛び越える競合を減らします。これは、インスタンスを終了させたい場合に重要です。このモデルでは、ノードは自分自身のために提案するのではなく、Distinguished Proposer に要求を転送します。Distinguished Proposer が死んでいると判断した場合は、自分で提案します。(そうである必要はありません/Distinguished Proposer が死んでいると 100% 確信できることは決してありません)。
実世界/プロジェクトのどこで paxos アルゴリズムを適用できますか?
何よりもまず、私はリーダー選挙に Paxos を使用します。たとえば、データベース マスターになるタスクを実行できるノードが複数ある場合、Paxos インスタンスに対して Paxos を使用してマスターを選択します。
2 番目のユース ケースは、強力な整合性を備えたデータベースとして使用することです。これの問題は、Paxos で必要なメッセージの数が原因で遅くなる可能性があることです。そのため、別のデータベースでより適切に処理されるものには使用しません。つまり、主に構成に使用します。たとえば、前述のデータベース マスター リーダーの選出を考えてみましょう。結果を保存して、ノードが「現在のデータベース マスターは誰ですか?」などのクエリを実行できるようにします。Paxos もその結果を公開しているため、通常モードでは、実際にクエリを実行する代わりに、このストリームをリッスンするだけです。