私たちは、2つの赤いサーバを持つ赤い設定をしています。また、2つのインスタンスを監視し、必要に応じてフェイルオーバーを開始する3つの監視院を設置しています。センチネル・フェイルオーバーを開始せずにredis FLUSHALLを実行する方法は?
現在、私たちは定期的にredisサーバ上でFLUSHALLを実行する必要があります。これは、監視員がタイムアウトするために割り当てた時間よりも長い時間を要するブロック操作です。言い換えれば、私たちは私たちとセンチネル構成している:
sentinel down-after-milliseconds OurMasterName 5000
、サーバー上のRedis-CLI FLUSHALLをやって>は5000ミリ秒かかるので、歩哨はフェイルオーバを開始します。
FLUSHALLを実行することは素晴らしいことではないことを認識しています。また、この質問の目的では、これらのオプションはどちらもオプションではないと仮定しています。
問題は、FLUSHALLが5000ミリ秒を超えてブロックされたために、私たちのセンチネルがフェールオーバーを開始することなく、どのようにFLUSHALL(または同等の操作)を行うことができますか?誰もこの問題に遭遇し解決しましたか?
いくつかのクラウドプラットフォームを使用している場合は、新しいインスタンスを作成することができます。マシンイメージを準備しておくか、devopsツールを使用してください。 –
@LiviuCosteaこれはおそらく適切なオプションだと思います。これがどのように機能するかを少し詳しく説明したものを参照できる場合は、私はあなたの答えを受け入れることができます。 – jakejgordon
AWSまたはAzureのようなものを使用している場合は、新しいRedisクラスタを作成するためのAPIを使用してください。それを起動し、データを読み込み、一度準備が整ったらDNSを変更して、もう一度APIコールを実行します。これらはすべてアプリケーションの一部で処理できます。しかし、敷地内では、不可欠な/シェフ/人形を使った自動化が必要になるため、より複雑になることがあります。 –