1

こんにちは、3 つの aws インスタンスで構成された Sentinel を使用してクラスター Redis を作成しました。HA redis クラスターと動作するように Sentinel を構成しましたが、マスターのクラッシュ (マスター インスタンスのシャットダウン) をシミュレートすると、スレーブにインストールされた Sentinel が見つかりませんマスターの歩哨と選挙は失敗します。私のセンチネル構成は次のとおりです。

sentinel monitor master ip-master 6379 2
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 10000
sentinel parallel-syncs master 1

すべてのインスタンスに同じファイル

4

3 に答える 3

1

マスターと同じノードでセンチネルを実行し、フェイルオーバーをトリガーしようとすると問題が発生します。マスターで Sentinel を実行せずに試してください。最終的にこれは、Redis インスタンスと同じノードで Sentinel を実行しないことを意味します。

あなたの場合、デッドノード シミュレーションは、Redis と同じノードで Sentinel を実行してはならない理由を示しています。ノードが死ぬと、センチネルの 1 つを失います。理論的にはまだ機能するはずですが、あなたや他の人が見てきたように、確実に機能するとは限りません。理由はいくつかありますが、まだ確認できていません。

ある意味では、Sentinel は部分的に監視システムです。いずれにせよ、監視対象と同じノードで監視ソリューションを実行することは、一般的にはお勧めできません。Sentinel はリソース効率が高いため、専用のマシンや大規模な VM は必ずしも必要ではありません。実際、アプリケーション サーバーの静的なセット (クライアント コードが実行される場所) がある場合は、そこで Sentinel を実行する必要があります。最小 3 つと 50%+1 の定足数が必要であることに注意してください。

于 2015-10-14T15:11:44.487 に答える