LINUX.ORG.RU

Кластер редисов

 


0

1

Доброго времени!

Есть два железных сервера с большим кол-вом оперативы. Их отредили быть редис-серверами (редис 5.0.4). Есть желание сделать нечто подобное кластеру мастер-слейв. У редиса есть штатно кластер мастер-слейв, но настойчиво рекомендуется использовать 3 пары мастер-слейв (всего 6 машин). Как я понял это из-за того, что в выборах Redis Cluster за отказоустойчивость голосуют только мастера.

Требования простые: на мастер пишем,читаем с мастера и слейва. И при сбое мастера - слейв должен стать мастером в автоматическом режиме. Обратно - можно и вручную.

Думал заюзать Redis Sentinel на двух этих хостах + третий Redis Sentinel где-то еще, для создания кворума.

Также смотрю в сторону Netflix dynomite. Это вообще идеально для меня в виде актив-актив кластера. Есть даже конфигурационный ямл для двух нод. Но также не ясно, что будет если связь между этими хостами пропадет. Каждая нода будет активна и принимать трафик клиентов в итоге данные не будут консистентны. Такой кейс в документации не освещен.

Кто-нибудь решал подобную задачу для двух хостов с редисом?

Если всего 2 компа. То делаешь кластер, когда каждая мастер-слейв пара разделена между нодами. А количество таких пар можно выбрать по количеству задействуемых ядер и общей предполагаемой нагрузке на поток. Кластер редиса не хранит все данные на каждом мастере, а распределяет 16384 хеш слота между мастерами. При потере любого мастера будет cluster is down. Поэтому реально именно кластер редиса нужен,если мастер упирается в производительнось одного ядра, т.к. редис однопоточный. Во всех остальных случаях лучше делать мастер-много слейвов. При отключении мастера приоритетный слейв автоматом станет мастером и т.д. Работа с кластером подразумевает разные драйвера, классы и библиотеки, которые умеют именно в редис кластер.

anonymous ()
Ответ на: комментарий от anonymous

Однопоточность редиса это известный факт. Никуда от этого особо не деться.

А средства редис-проксирования типа Twemproxy (или аналогов) не выручат меня в этом вопросе?

И вы не пользовались Netflix dynomite даже в качестве экспериментов? Я почитывая документацию на эту вещь подумал, что даже, если связь между 2 нодами кластера пропадет (напоминаю продукт заявляется как актив-актив кластер), мне нужно будет просто жестко убить одну (любую ноду) и жить дальше. Буквально не вдаваясь в подробности грохнуть через 5-10 минут после пропажи связи одну из нод - хелфчек на амазоне перебросит весь трафик на оставшуюся.

Разработчики пишут о dynomite замечательные вещи, но не особо нашел в инете каких-то реальных описанных кейсов с использованием этой шняги. Буквально 1-2 накарябали в рекламных целях.

alex-123 ()