GitHub的Redis和Resque失败行为?

时间:2012-05-14 19:46:01

标签: github redis resque

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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