Alta disponibilidade e balanceamento de carga do Redis

Alta disponibilidade e balanceamento de carga do Redis

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 carga balanceada.

Eu uso principalmente o Redis para alguns aplicativos da web PHP que armazenam algumas informações de status do processo (estou usando o PHPRedis para isso) e gostaria de usá-lo também para armazenamento de sessões PHP em um cluster com carga balanceada.

Já tenho um Load Balancing que utilizo para Nginx e MySQL (baseado em pfSense).

Vi que o Redis Cluster existe para Redis 3, mas também li alguns comentários sobre o fato de ele não estar pronto para produção, outros que dizem que o Redis não pode fazer uma configuração completa de cluster master/master.

Qual é o seu conselho?

  • Experimente o Cluster Redis
  • Mude para outro mecanismo chave = valor (CouchDB? Memcached? Outros?)
  • Não me importo com balanceamento de carga e uso apenas um nó do cluster por vez, e com failover manual, pois não uso persistência
  • Outras ideias?

Muito obrigado pela sua ajuda!

Responder1

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

Responder2

Uma solução óbvia para redis de balanceamento de carga é usarsentinela.

Pelo que posso ver, o predis não oferece suporte ao sentinela no momento. Ver:

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

Uma possível solução pode serSentinela Redis + failover HAProxyse você quiser continuar usando o predis.

informação relacionada