Estou usando o Redis há algum tempo e agora queremos mudar para um cluster redundante que seja tolerante a falhas, altamente disponível e com balanceamento de carga.
Eu uso principalmente o Redis para algum aplicativo da Web PHP que armazena algumas informações de status do processo (estou usando PHPRedis para isso) e gostaria de usá-lo também para armazenamento de sessão PHP em um cluster com balanceamento de carga.
Já tenho um Balanceamento de Carga que uso para Nginx e MySQL (baseado em pfSense).
Vi que o Redis Cluster existe para o Redis 3, mas também li alguns comentários sobre o fato de não estar pronto para produção, outros que dizem que o Redis não pode fazer uma configuração master/master cluster completa.
Qual é o seu conselho?
- Experimente o Cluster Redis
- Mover para outro mecanismo de chave=valor (CouchDB? Memcached? Outros?)
- Não se preocupe com o balanceamento de carga e use apenas um nó do cluster por vez e faça um failover manual, pois não uso persistência
- Outras ideias?
Muito obrigado pela sua ajuda!
O Redis Sentinel permitirá que você execute várias instâncias do redis e lide com o failover para você. http://redis.io/topics/sentinel
Uma solução óbvia para redis de balanceamento de carga é usar sentinela .
Tanto quanto eu posso ver predis não suporta sentinela a partir de agora. Ver:
https://github.com/nrk/predis/issues/131
Uma possível solução pode ser redis sentinela + failover HAProxy se você quiser continuar usando predis.