2017-02-13 7 views
1

У нас есть один экземпляр redis, в котором хранится около 6 хэшей, где каждый хэш содержит около 500-700 ключей каждый (бизнес-объекты). Я планирую установить основную подчиненную архитектуру, в которой у меня может быть один основной экземпляр с двумя подчиненными устройствами, и я хочу объединить запросы чтения robin к ведомым устройствам. Я искал способы сделать это, но до сих пор в моих поисках я не мог понять, как это сделать. Мы используем Jedis как наш клиент redis. Можно ли обойти запросы чтения robin для подчиненного устройства? (Конечно, я знаю, что может быть временное окно, в котором данные несовместимы в подчиненных, и я готов пожертвовать этим)Запросы на чтение с циклическим чтением для команд Redis

Помощь была бы очень большой оценили.

EDIT: Это первый раз, когда я пытаюсь настроить распределенную архитектуру. Поэтому, пожалуйста, несите меня, если то, что я говорю, кажется невежественным.

+0

Можете ли вы не просто выбрать рабочую случайную клиентскую сторону? –

+0

Прямо сейчас, поскольку количество ведомых экземпляров будет ограничено, я обязательно смогу. Infact - это тот подход, который я сейчас буду использовать. Однако, что, если у меня есть до 6-7 подчиненных экземпляров? Разве я не должен поддерживать пул соединений и тайм-ауты для каждого из этих экземпляров? – Ankush92

ответ

0

Вы можете сделать это на стороне клиента, с которой трудно управлять. Некоторые другие идеи:

  • Используйте балансировщик нагрузки, такой как HAproxy, чтобы управлять им, будьте осторожны, так как это может привести к одной точке отказа.
  • Если вы на AWS вы могли бы использовать ELB
  • Вы можете использовать DNS круговой для этого (если у вас есть достаточное количество клиентских узлов, чтобы сбалансировать из кэша DNS)

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

+0

Спасибо за ваш ответ. Мне просто интересно, какова наилучшая практика в этом отношении? Я имею в виду, что я искал google, и, похоже, нет единого мнения о наилучшем/стандартном подходе к этому. – Ankush92

+0

Я не знал, что HaProxy поддерживает протокол Redis. Но опять же нужно было бы подключиться к HaProxy, используя TCP. Думаю, это, наверное, лучший способ. – Ankush92

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

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