GitHub的Redis和Resque失败行为?

Mic*_*ser 10 github resque redis

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

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

问题:Defunkt曾经谈过GitHub如何处理Redis失败?是否存在不涉及zookeeper的故障转移的最佳实践?

关于resis的原始帖子说明Redis的选择理性的一部分是redis的主从功能,但该帖没有描述GitHub如何利用这一点,因为所有工作者都需要对Redis的读写访问权限(参见https: //github.com/blog/542-introducing-resque).

Bra*_*ncy 1

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

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