советы: Обработка обработки отказа?

Redis действительно походит на большой продукт с созданным в репликации и удивительной скорости. После проверения его он чувствует определенно как замена 2010 года memcached.

Однако с тех пор при нормальном использовании memcached, последовательное хеширование используется для ровного распространения данных через серверы в пуле. Если один из серверов в пуле понижается и прекращает быть доступным, он обрабатывается прозрачно и только ключи, которые были потеряны, будет воссоздан и равномерно распределен через остающиеся доступные серверы в пуле.

Redis имеет, с другой стороны, также встроенный sharding, но также и другую действительно интересную функцию, названную автоматической репликацией. Благодаря этому доступность данных могла быть значительно увеличена при использовании ведомых серверов для использования в случае дерьма, поражающего вентилятор.

Однако я еще не нашел, что любое хорошее решение обрабатывает изменение состояния сервера советов как ведомое устройство для становления новым ведущим устройством автоматически или любым другим путем, автоматически обрабатывающим обработку отказа с Redis.

Как это могло быть сделано? Каков был бы соответствующий подход к этому?

15
задан Industrial 6 September 2013 в 20:26
поделиться

1 ответ

Однако при обычном использовании memcached для равномерного распределения данных по серверам в пуле используется последовательное хэширование. Если один из серверов в пуле выходит из строя и перестает быть доступным, это обрабатывается прозрачно, и только ключи, которые были потеряны, будут воссозданы и равномерно распределены между оставшимися доступными серверами в пуле.

Это не то, что делает memcached, всю эту магию делает клиентская библиотека ;)

Однако, я пока не нашел хорошего решения, как автоматически менять статус сервера Redis как ведомого на новый ведущий или каким-либо другим способом автоматически обрабатывать обход отказа с Redis.

Используйте SlaveofCommand для изменения характеристик. Для автоматического обхода отказа потребуется немного больше кодирования, подключитесь к серверу и, если вы потеряли соединение и не можете установить его снова в течение времени X, выберите одного ведомого ведущим и измените статус slave-master-status всех остальных серверов.

Обновление (01. Aug. 2012): Теперь есть redis sentinel, решение для мониторинга и автоматического обхода отказа для версии 2.4.16 и выше.

21
ответ дан 1 December 2019 в 03:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: