
Я уже некоторое время использую 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 отказоустойчивостьесли вы хотите продолжать использовать предис.