2013-10-09 1 views
2

Поскольку кластер redis все еще находится в процессе разработки, я хочу построить упрощенную на себе текущую стадию. Система должна поддерживать сбор данных, балансировку нагрузки и резервное копирование master-slave. Предварительный план выглядит следующим образом:Как создать упрощенную кластерную кластерную группу (поддержка отображения данных и баланс нагрузки)?

  1. Мастер-ведомый: используйте несколько глав-подчиненных пар в разных местах, чтобы повысить безопасность данных. Матрицы отвечают за операцию записи, в то время как оба мастера и ведомые устройства могут предоставлять услуги чтения. Даты отправляются всем мастерам во время одной операции записи. Используйте Keepalived между ведущим и ведомым устройствами для обнаружения сбоев и автоматического переключения ведущего-ведомого.

  2. Шлифование данных: записывайте согласованный хэш на стороне клиента, чтобы поддерживать сбор данных во время записи/чтения, если память не выделяется на одной машине.

  3. Баланс нагрузки: используйте LVS для перенаправления запроса на чтение на соответствующий сервер для баланса нагрузки.

Мой вопрос заключается в том, как объединить LVS и данные, сложенные вместе?

Например, из-за чередования данных все ключи расщепляются и сохраняются на серверах A, B и C без перекрытия. Учитывая резервную копию подчиненного устройства и другие пары ведущий-ведомый, система будет содержать 1 (A, B, C), 2 (A, B, C), 3 (A, B, C) и т. Д., Где каждый из них имеет три сервера. Как настроить LVS для поддержки перенаправления в такой ситуации, когда приходит запрос на чтение? Или есть другие подходы в redis для достижения той же цели?

Спасибо :)

ответ

2

Вы можете получить очень близко к тому, что вам нужно с помощью:

twemproxy осколок данные по нескольким узлам Redis (он также поддерживает выталкивание узлов и пулы соединений)

Redis рабский ведущий/ведомый репликации

redis sentinel обрабатывать мастер отказоустойчивого

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

+0

Да, twemproxy кажется правильным, которого я ищу. Адвокат Редис все еще развивается и не зрелый. Я хочу развернуть кластер в производственной среде, поэтому мне нужен другой подход к управлению отказоустойчивостью мастера. Ваш ответ очень помогает. Благодарю. –

+0

@ShuaiTao redis-sentinel стабилен и может быть использован в производстве, на самом деле он является частью redis с 2.6 –

+0

В [doc] (http://redis.io/topics/sentinel) есть предупреждение, которое показывает redis -сентник все еще продолжается. Поэтому я не уверен, смогу ли я использовать его в производстве. Является ли документ старой версией и не обновляется, а redis-sentinel уже стабилен с 2,6 на самом деле? –

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