Resque 和 Redis 的高可用性

Resque 和 Redis 的高可用性

尝试避免 Resque 和 Redis 的 SPOF。最终客户端将通过以下方式使用 PHP:https://github.com/chrisboulton/php-resque)。经过一番研究,找到了一些可行的 nginx+php-fpm 和 MySQL HA(mysql master-master 设置作为简单的主从升级方式),接下来是Resque+Redis。

Resque 的标准安装使用 localhost Redis(在 DigitalOcean)。我严重依赖 Amazon Route 53 DNS 故障转移来尝试解决此问题。

resque1.domain.com 指向 localhost redis (redis1.domain.com) => 同一服务器 resque2.domain.com 指向 localhost redis (redis2.domain.com) => 同一服务器

执行 resque.domain.com 故障转移,将 resque1 作为主服务器,将 resque2 作为辅助服务器。这意味着大多数时间 (99%),resque1 应该受到攻击,而 resque2 只是热备份。

这样我只需要获得 2 台服务器,并确保对 resque.domain.com 的任何访问都会到达某个地方


另一种方法是将 resque 和 redis 分成 4 个服务器,并执行以下操作

resque1.domain.com -> redis.domain.com resque2.domain.com -> redis.domain.com redis1.domain.com redis2.domain.com

然后设置 DNS 故障转移

resque.domain.com -> 主节点:resque1 和辅助节点:resque2 redis.domain.com -> 主节点:redis1 和辅助节点:redis2

如果可以的话,我想使用 2 台服务器,但是第二种设置会更好还是可以忽略不计?

谢谢,克里斯

答案1

如果您有一台 Redis 服务器,那么它仍然是 SPOF。除了执行常规 Redis 备份和测试恢复过程之外,您还可以通过自动配置和部署来降低 SPOF 的风险。这种方式要求您全天候监控故障或自动调度配置。

两台服务器为您提供已知工作状态的热故障转移。这是一个更好的灾难规划方案。

我不熟悉 DNS 故障转移,但它的功能似乎类似于负载平衡器 VIP 和虚拟接口。该故障转移模型易于配置、测试简单且非常可靠。

相关内容