Redis 高可用性和负载均衡

Redis 高可用性和负载均衡

我使用 Redis 有一段时间了,现在我们想要转移到一个具有容错能力、高可用性和负载平衡能力的冗余集群。

我主要将 Redis 用于一些 PHP Web 应用程序,用于存储一些进程状态信息(我为此使用 PHPRedis),并且我还想在负载平衡集群中将它用于 PHP 会话存储。

我已经有一个用于 Nginx 和 MySQL 的负载平衡(基于 pfSense)。

我看到 Redis 3 中存在 Redis Cluster,但我也读到一些关于它尚未准备好投入生产的评论,其他评论则表明 Redis 无法完成完整的主/主集群配置。

你的建议是什么?

  • 尝试 Redis Cluster
  • 转移到另一个 key=value 引擎(CouchDB?Memcached?其他?)
  • 不必担心负载平衡,每次只使用集群的一个节点,并进行手动故障转移,因为我不使用持久性
  • 还有其他想法吗?

非常感谢您的帮助!

答案1

Redis Sentinel 将允许您运行多个 redis 实例并为您处理故障转移。 http://redis.io/topics/sentinel

答案2

负载平衡 redis 的一个明显解决方案是使用哨兵

据我所知,predis 目前不支持 sentinel。请参阅:

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

一个可能的解决方案是Redis 哨兵 + HAProxy 故障转移如果您想继续使用 predis。

相关内容