任何人都知道 GitHub 在使用 Resque 时如何处理 Redis 服务器的潜在故障或暂时不可用?
还有其他一些似乎将半复杂的解决方案放在一起,作为使用 zookeeper 的 redis-cluster 的保留(请参阅https://github.com/ryanlecompte/redis_failover和resque failover redis 的解决方案)。其他人似乎有“可怜的人的故障转移”,即在没有 redis 客户端之间协调的情况下,在第一眼看到连接问题时将奴隶切换到主人(但这在临时不可用的情况下似乎有问题)。
问题:Defunkt 有没有谈论过 GitHub 如何处理 Redis 故障?是否有不涉及 Zookeeper 的故障转移最佳实践?
resque 上的原始帖子指出,选择 Redis 的部分原因是 redis 的主从功能,但该帖子没有描述 GitHub 如何利用这一点,因为所有工作人员都需要对 Redis 的读写访问(参见https: //github.com/blog/542-introducing-resque)。