操作ログをレプリケーションに同期することで、paxos を使用してレプリケーションの同期を維持できることを読みました。
私の理解では、各 paxos インスタンスは操作でログ ID を定義します
理想的には、ログは各ノードでこのようになるため、データの一貫性を保つために、ログ ID の順序で操作ログを適用します。
- 消去 ....
- 追加 ...
- 削除する ...
私の理解では、ログ ID は 1 つずつ増加しないため、ログは次のようになります。
1.削除 ....
3.追加...
5.削除...
私の質問は、paxos インスタンス中に 1 つのノードがダウンした場合、実際にどのように機能するかということだと思います。
このノードでは 1 つのログ エントリが失われるため、このノードは回復後にエントリが失われたことをどのように認識しますか?
ウィキによると
https://en.wikipedia.org/wiki/Paxos_(computer_science)#Multi-Paxos
複数の paxos は、ログ ID が常にギャップなく増加するようにするために実装されているようです。
そうは言っても、私の理解では、各レプリケートは、最新の変更が適用されていることを確認するために、定期的にいくつかと対話する必要があります。