複数のインスタンスでRedisを実行する利点はありますか?
はい。少なくとも3つのメリットがあります。
- Redisはシングルスレッドです(実際には複数のスレッドがありますが、ほとんどの作業はシングルスレッドで行われます)。複数のインスタンスを使用すると、パフォーマンスを向上させることができます。
- Redisはデータをメモリに保存し、保存は1台のマシンのメモリのサイズに制限されます。より多くのデータを保存するために、複数のRedisインスタンスを異なるマシンにデプロイでき、各インスタンスはデータ全体の異なる部分を保存します。
- Redisマスターインスタンスとそのスレーブインスタンスを2台の異なるマシンで実行できます。マスターインスタンスを実行しているマシンがダウンしている場合でも、スレーブインスタンスはリクエストを処理できます。
もしそうなら、どのようにして複数のRedisインスタンス間でパリティを実現しますか?
パリティとはどういう意味かわかりません 。マスターとスレーブの関係ですか? Redisは複数のスレーブを持つマスターを持つことができ、各スレーブは独自のスレーブを持つこともできます(私が正しく覚えている場合)。
Webアプリの複数のインスタンスを使用する場合、そもそもRedisを使用する利点の一部が無効になるのではないでしょうか。ローカルマシンでRedisを操作する方が、インスタンスAのメモリからデータを取得してからネットワーク経由でインスタンスBに移動するよりもはるかに高速であるように思われます。
RedisインスタンスとWebアプリインスタンスを2つの異なるマシンにデプロイする場合は、2つのマシン間のネットワークのレイテンシが低レイテンシであることを確認する必要があります。 。