6 台のマシンで Redis クラスターを実装しようとしています。6 台のマシンからなる vagrant クラスターがあります。
192.168.56.101
192.168.56.102
192.168.56.103
192.168.56.104
192.168.56.105
192.168.56.106
すべて実行中の redis-server
上記のすべてのサーバーの /etc/redis/redis.conf ファイルを編集して、これを追加しました
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-slave-validity-factor 0
appendonly yes
次に、6 台のマシンのうちの 1 台でこれを実行しました。
./redis-trib.rb create --replicas 1 192.168.56.101:6379 192.168.56.102:6379 192.168.56.103:6379 192.168.56.104:6379 192.168.56.105:6379 192.168.56.106:6379
Redis クラスターが稼働しています。あるマシンで値を設定して、他のマシンに表示されることを手動で確認しました。
$ redis-cli -p 6379 cluster nodes
3c6ffdddfec4e726f29d06a6da550f94d976f859 192.168.56.105:6379 master - 0 1450088598212 5 connected
47d04bc98ab42fc793f9f382855e5c54ab8f2e20 192.168.56.102:6379 slave caf2cec45114dc8f4cbc6d96c6dbb20b62a39f90 0 1450088598716 7 connected
040d4bb6a00569fc44eec05440a5fe0796952ccf 192.168.56.101:6379 myself,slave 5318e48e9ef0fc68d2dc723a336b791fc43e23c8 0 0 4 connected
caf2cec45114dc8f4cbc6d96c6dbb20b62a39f90 192.168.56.104:6379 master - 0 1450088599720 7 connected 0-10922
d78293d0821de3ab3d2bca82b24525e976e7ab63 192.168.56.106:6379 slave 5318e48e9ef0fc68d2dc723a336b791fc43e23c8 0 1450088599316 8 connected
5318e48e9ef0fc68d2dc723a336b791fc43e23c8 192.168.56.103:6379 master - 0 1450088599218 8 connected 10923-16383
私の問題は、master
クラスター全体であるいずれかのマシンで redis-server をシャットダウンまたは停止すると、3 つのスレーブすべてが停止した場合でも、クラスターは正常に動作することです。
マスターに障害が発生した場合にスレーブがマスターになるようにするにはどうすればよいですか (フォールト トレランス)。
私は、redis がこれらすべてを処理すると想定しており、クラスターをデプロイした後は心配する必要はありません。私は正しいですか、それとも自分でやらなければなりませんか?
もう 1 つの質問は、16GB RAM のマシンが 6 台あるとしましょう。3 つのマスターと 3 つのスレーブを備えたこの Redis クラスターで処理できる総データ量はどれくらいですか?
ありがとうございました。