При подключении к кластеру Redis с помощью ioredis (https://github.com/luin/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
Сможет ли ioredis продолжить работу (учитывая, что данные из: 7000 потеряны), потребуется ли ему когда-нибудь снова связываться с 127.0.0.1:7000 или это только для первоначального подключения?
Из моих экспериментов кажется, что этот сценарий работает, и ответ на мой вопрос - да, но я хочу проверить, что это ожидаемая и поддерживаемая ситуация.