Redis Cluster: Замените неисправный мастер, у которого нет ведомого без простоя
Я изучаю использование Redis Cluster (Redis 4.0).
У меня есть кластер из 5 главных узлов, каждый с одной репликой. Мы можем позвонить каждому мастеру A, B, C, D, E
соответственно и каждый раб A1, B1, C1, D1, E1
,
Скажем, например, что узел заполняет свою память и приводит к отказу главного B и ведомого B1. Есть ли способ выздороветь от этого состояния?
В идеале я хотел бы иметь возможность раскрутить новый узел, загрузить его с резервной копией RDB B, присоединить ее к кластеру и перераспределить слоты B на заменяющем узле без необходимости выключения остальной части кластера.
Я не могу понять, как это сделать. Является ли это возможным?
0 ответов
Одна вещь, которую вы можете сделать, - это создать больше реплик на разных узлах, чем на мастер. В таком сценарии, как указано выше, у вас все еще будет резервная копия в некоторой реплике (на другом узле).
Кроме того, при этом не нужно загружать резервную копию RDB в новом узле или присоединять ее к кластеру, или перераспределять слоты B на заменяющем узле без необходимости выключения остальной части кластера.
Вы можете сделать все это просто с помощью Redis Sentinel: https://redis.io/topics/sentinel