3

マスター アプリケーションによって入力される Redis マスター ノードがあります。次に、地理的に異なる場所にある可能性のあるこの Redis ノードの複数のスレーブを用意します。これらのノードは、そのノードに近いアプリによって読み取られます。

アプリ1。スレーブ1

アプリ2。スレーブ2

現在、App1 と App2 は何らかの形で関連しており、特定のデータが Slave2 ではなく Slave1 で利用できる状況は望ましくありません。

言い換えれば、同期の待ち時間は必要ありません。同時にデータを同期したい。

スレーブが更新を要求するのではなく、マスターが更新をスレーブにプッシュする可能性はありますか?

4

1 に答える 1

4

言い換えれば、同期の待ち時間は必要ありません。同時にデータを同期したい。

それは不可能だ。理論的には、分散トランザクションによって一貫性を保証できます。Redis (および多くの NoSQL) は、パフォーマンス上の懸念から分散トランザクションを使用しません。

スレーブが更新を要求するのではなく、マスターが更新をスレーブにプッシュする可能性はありますか?

いくつかの誤解があります。redis では、マスター DO が更新をスレーブにプッシュします。ただし、これでは不整合 (同期遅延) を防ぐことはできません。

于 2011-11-30T11:14:14.573 に答える