2017-08-22 11 views
0

マスターが失敗したときにスレーブが自動的に接続を受け入れるように、1つのマスターと1つのスレーブで高可用性ソリューションを提供したいと考えています。 これはキャッシングの解決策であるため、データの永続性と複製については気にしません。 オーバーヘッドのために私はレプリケーションをしていないでしょう。 私はWindows上でSentinelを使用できません.SentinelをサポートしていないStackExchange.Redisドライバを備えたRedis v3.2です。 メンテナンスが非常に多く、6台のサーバーがない6つのノードが必要なため、クラスタリングをしたくありません。 マスターとスレーブを手動で切り替えることなく、そのようなことが可能ですか?おかげさまで 自動フェイルオーバーを使用したRedisマスタースレーブ設定

答えて

2

これはまさにRedis Sentinelの目的です。あなたが本当にそれを使用することができない場合、あなたはあなたのredisのインスタンスを監視し、マスターが離れたらマスターをスレーブに昇格させる小さなワーカーを作成し、戻ってくるときに逆を行います。監視は容易でなければならない。レディスはping commandと同じです。

StackExchange.Redisはすでに複数のインスタンスを監視して正しいマスターを選択できるように見えるので、アプリケーションはこれを検出して現在のマスターにコマンドを送信する必要があります。

ここで例:https://stackexchange.github.io/StackExchange.Redis/Configuration#automatic-and-manual-configuration

そうしないと、お使いのモニタの労働者は、アプリケーション(複数可)で構成変更を共有する方法を提供する必要があります。これは、共有ファイルまたはAPIを通じて処理できます。接続/再接続時にこれらのアプリケーションの変更を確認する必要があります。

最後に、モニタの作業者はRedis Sentinelが提供するもののサブセットを提供します。あなたの努力は、この設定とリポジトリが可能であることを示唆しているウィンドウで実行するのに費やす方が良いでしょう:https://github.com/ServiceStack/redis-config/blob/master/sentinel3/windows/start-all.cmd

関連する問題