В настоящее время у нас есть кластер Redis-кэша с 3 мастерами и 3 ведомыми, размещенными на 3 серверах Windows (1 ведущий / ведомый сервером).Мы используем StackExhange.Redis в качестве нашего клиента.
У нас отключен RBD, но включен AOF, и возникают проблемы с кластером в следующих ситуациях:
- Один из наших серверов сталпереполнен, и узел redis на этом сервере не смог выполнить запись в файл AOF (ошибка, возвращенная клиенту:
MISCONF Errors writing to the AOF file: No space left on device
). - Кластер не обнаружил сбой узла и поэтому не исключилэто из кластера.
- Все операции с кешем были заблокированы, пока мы не заняли какое-то место на сервере.
Мы знаем, что нам не нужен AOF, поэтому мы отключили егопосле инцидента.
Но мы хотели бы подтвердить или опровергнуть наш взгляд на кластеризацию redis: для нас, если в узле произошел сбой, кластер перенаправит все запросы на другой.Мы проверили, что с остановленным ведущим узлом ведомое устройство превращается в ведущее, поэтому мы уверены, что наш кластер работает, но мы не уверены, почему в нашем случае узел не был отмечен как сбой.
Может ли кластер обнаруживать сбой узла, когда сбой происходит только при запросе от клиента к кластеру?