2017-10-05 6 views
0

ioredis(https://github.com/luin/ioredis)を使ってredisクラスタに接続する場合は、ノードを1つ指定するだけです。 3つのノードクラスタで初期接続からのクラスタノードが切断された場合、ioredisクライアントを動作させることはできますか?

127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002

あなたは、単に使用して接続することができます

new Redis.Cluster([{ 
    port: 7000, 
    host: '127.0.0.1' 
}]) 

をした場合:7000ノードが死ぬと、

redis-trib.rb call 127.0.0.1:7001 cluster forget [node_id of :7000] 
redis-trib.rb add-node 127.0.0.1:7003 127.0.0.1:7001 
redis-trib.rb fix 127.0.0.1:7001 

あなたは次のようなことをして、別のノードに置き換えます。 00が失われた場合)、127.0.0.1:7000に再度連絡する必要があるか、それとも最初の接続の場合のみですか?

私の実験からは、このシナリオが機能し、私の質問に対する答えはイエスだと思われますが、これが期待され、サポートされている状況であることを確認したいと思います。

答えて

1

クラスタに接続すると、ioredisはクラスタのノードリストを7000に要求し、その後、ioredisは新しいノードを検出してフェールオーバーを処理できます。したがって、答えがyesの場合:7000がの場合、の後にノード・リストがフェッチされます。

関連する問題