0

次の状況で、飼育係がクライアントの FIFO 注文を約束する方法を知りたいです。

クライアントはサーバーに 3 つの操作を送信しました。set a = 1、set b = 1、set ready = true です。

set a = 1 がリーダーによって処理され、この tcp 接続に何か問題があり、このクライアントが新しい tcp 接続をリーダーに再接続しますが、set b = 1 操作が途中である可能性はありますか? . 次に、クライアントは新しい tcp 接続を使用して set ready = true 操作を送信します。したがって、set a = 1 は操作され、set b = 1 は操作されず、set ready = true も操作されます。

問題は、zab がクライアントの FIFO 注文をどのように約束するかです。

zab は、リーダーから応答のないすべての操作を再送信できます。この状況では、クライアントがリーダーに再接続すると、オペレーション set b = 1, set ready = true が再送されます。

これは、Zab が FIFO の順序をプライミングするために使用する方法ですか?

皆さん、ありがとうございました

4

0 に答える 0