2016-05-30 4 views
5

Наша текущая настройка Redis - это клиент веб-приложения, использующий Jedis для прямого подключения с использованием одного JedisPool для записи на один мастер Redis и второй JedisPool для чтения из одного подчиненного Redis. Ведомое устройство настроено для репликации мастера.Redis Sentinel с чтением от ведомых пишите мастер

Мы находимся в процессе перехода к использованию JedisSentinelPool на клиенте и введения Sentinel (s) для более эффективного управления откатом. Насколько мне известно, кажется, что JedisSentinelPool общается только с избранным в настоящее время мастером, так что теперь все записи/чтения переходят к мастеру. По сравнению с ранее, когда считывания могут быть распределены ведомому.

Есть ли способ использовать JedisSentinelPool для распространения считываний на ведомый для целей балансировки нагрузки? Или это необходимо реализовать вручную с помощью JedisPool (как и раньше). В этом случае, если мастер не удалось, JedisSentinelPool теперь укажет на старое подчиненное устройство (новый мастер), а JedisPool все же будет тупо указывать на старый подчиненный и эффективно старый раб (новый мастер) теперь будет обрабатывать чтения и записи?

Имеет ли у Redis Sentinel (или иначе) какие-либо функции балансировки нагрузки (в отличие от отказоустойчивости)? В настоящее время у нас есть только одно подчиненное устройство, можно ли добавить больше подчиненных устройств для балансировки нагрузки? И если да, то какие рекомендуемые конфигурации?

Любой совет, реальный опыт здесь будет оценен.

ответ

0

я пишу новый JedisSentinelPool, может читать из ведомого устройства с балансировкой нагрузки, запись от мастера, его используют в Redis подписываться рабов, я использую его в моем веб-приложение, см код github sentinel-slave-jedis-pool

 Смежные вопросы

  • Нет связанных вопросов^_^