10

任何人都知道 GitHub 在使用 Resque 时如何处理 Redis 服务器的潜在故障或暂时不可用?

还有其他一些似乎将半复杂的解决方案放在一起,作为使用 zookeeper 的 redis-cluster 的保留(请参阅https://github.com/ryanlecompte/redis_failoverresque failover redis 的解决方案)。其他人似乎有“可怜的人的故障转移”,即在没有 redis 客户端之间协调的情况下,在第一眼看到连接问题时将奴隶切换到主人(但这在临时不可用的情况下似乎有问题)。

问题:Defunkt 有没有谈论过 GitHub 如何处理 Redis 故障?是否有不涉及 Zookeeper 的故障转移最佳实践?

resque 上的原始帖子指出,选择 Redis 的部分原因是 redis 的主从功能,但该帖子没有描述 GitHub 如何利用这一点,因为所有工作人员都需要对 Redis 的读写访问(参见https: //github.com/blog/542-introducing-resque)。

4

1 回答 1

1

基本 Resque 库不处理故障。如果一个盒子在弹出消息后立即死亡,则该消息将永远消失。您必须编写自己的代码来处理故障,这非常棘手。

https://github.com/resque/resque/issues/93

于 2013-07-22T00:26:56.443 回答