Akka 断路器动作监控策略的选择

Akka 断路器动作监控策略的选择,akka,circuit-breaker,akka-supervision,Akka,Circuit Breaker,Akka Supervision,Akka监督策略允许自定义行为,具体取决于引发的异常类型,因此监督者可以选择是停止、重新启动、恢复失败的参与者,还是将错误升级到其父级。当一个参与者因CircuitBreakerOpenException失败并且需要重新启动时,我正在尝试构建一个自定义的主管策略。如果我只是选择重新启动策略,参与者将立即重新启动,这没有意义,因为它将在重置超时时间间隔内立即再次失败。因此,正确的行为是等待XXX秒,然后使用Restart指令。但这种行为不能用演员监督策略来表达 实施这种行为的正确方式是什么?当然,

Akka监督策略允许自定义行为,具体取决于引发的异常类型,因此监督者可以选择是停止、重新启动、恢复失败的参与者,还是将错误升级到其父级。当一个参与者因CircuitBreakerOpenException失败并且需要重新启动时,我正在尝试构建一个自定义的主管策略。如果我只是选择重新启动策略,参与者将立即重新启动,这没有意义,因为它将在重置超时时间间隔内立即再次失败。因此,正确的行为是等待XXX秒,然后使用Restart指令。但这种行为不能用演员监督策略来表达

实施这种行为的正确方式是什么?当然,我可以在child-actor实现中添加try/catch句柄,但这违背了actor监督的概念。

有一个可以做您想要做的事情,甚至更多。您可以使用minBackoff参数指定初始等待。我还应该说,这是一种指数退避策略,因此它将继续重新启动受监督的参与者,但如果子参与者继续抛出异常,则会增加退避时间