ダウンタイムなしで新しいバージョンの Redis にアップグレードするにはどうすればよいですか? Redis スレーブは読み取り専用であるため、マスターを停止する必要があり、DB がリロードされるのを待つ間、サイトは 45 秒以上読み取り専用になるようです。
これを回避する方法はありますか?
ダウンタイムなしで新しいバージョンの Redis にアップグレードするにはどうすればよいですか? Redis スレーブは読み取り専用であるため、マスターを停止する必要があり、DB がリロードされるのを待つ間、サイトは 45 秒以上読み取り専用になるようです。
これを回避する方法はありますか?
Redis チームには、これに関する非常に優れたドキュメントがあります。
主な手順:
完全なドキュメント:
ノードをオフラインにするときは、SLAVEOF コマンドを使用してスレーブをマスターに昇格させます。その後、オンラインに戻すときにスレーブとして設定すると、オンライン ノードからすべてのデータがコピーされます。
クライアントが変更された/欠落したマスターノードを適切に処理できることを確認する必要がある場合もあります。
本当に凝りたい場合は、クライアントがマスターへの書き込みエラーを検出した場合にスレーブを昇格するようにクライアントを設定できます。
これを行うために Redis Sentinel を使用できます。sentinel は自動的にスレーブを新しいマスターとして昇格させます。ここで詳細情報を見つけることができますhttp://redis.io/topics/sentinel。
Sentinel は redis サーバーの管理に使用されるシステムであり、redis マスターとスレーブを継続的に監視し、マスターがダウンするたびに自動的にスレーブをマスターに昇格させます。古いマスターが起動すると、新しいマスターのスレーブになります。
ここでは、ダウンタイムは発生せず、構成ファイルの手動構成も必要ありません。上記のリンクにアクセスして、redis サーバー用にセンチネルを構成する方法を確認できます。