Высокая доступность Redis и балансировка нагрузки

Высокая доступность Redis и балансировка нагрузки

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

Я в основном использую Redis для некоторых веб-приложений PHP, которые хранят некоторую информацию о состоянии процесса (для этого я использую PHPRedis), и я хотел бы использовать его также для хранения сеансов PHP в кластере с балансировкой нагрузки.

У меня уже есть балансировка нагрузки, которую я использую для Nginx и MySQL (на основе pfSense).

Я видел, что Redis Cluster существует для Redis 3, но я также читал некоторые комментарии о том, что он не готов к производству, другие же говорили о том, что Redis не может выполнить полную конфигурацию master/master cluster.

Что вы посоветуете?

  • Попробуйте Redis Cluster
  • Переход на другой движок ключ=значение (CouchDB? Memcached? Другие?)
  • Не беспокойтесь о балансировке нагрузки и использовании только одного узла кластера в каждый момент времени, а также о ручном переключении при сбое, так как я не использую постоянство.
  • Другие идеи?

Большое спасибо за Вашу помощь!

решение1

Redis Sentinel позволит вам запустить несколько экземпляров Redis и выполнит аварийное переключение. http://redis.io/topics/sentinel

решение2

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

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

https://github.com/nrk/predis/issues/131

Возможным решением может бытьRedis Sentinel + HAProxy отказоустойчивостьесли вы хотите продолжать использовать предис.

Связанный контент