所以我们正在测试谷物故障转移的工作方式,以防某些孤岛由于某种原因(服务器停机等等)无响应。目前,我们在两台不同的机器上运行两个筒仓,每台机器上都有谷物。然后我们继续杀死其中一个筒仓(意外地)。我们尝试在DEAD筒仓上调用谷物,并在一些超时后(我相信总共3分钟左右)抛出异常,说明筒仓拒绝连接。现在,我们认为在一个筒仓被宣布为DEAD之后,如果我们重试激活,则仅在另一个筒仓上激活谷物。这对我们来说很好。但是,我们想知道是否有某种方法可以自动重试,而不是自己做逻辑。
答案 0 :(得分:2)
首先,3分钟听起来太多了。如果您使用默认的活跃度设置,它应该是几十秒。它是什么系统存储?
如果要自动重试,最好将所有客户端粒度调用包装在一个包装器中,该包装器将以指数退避重试为止。自己进行重试可以让您获得更多控制权,以及重试的内容和方法。