1

我不确定 Akka 监督要遵循什么方法。

我有一个 Akka 演员,它在消息触发它时列出来自 FTP 服务器的文件。如果连接断开,actor 将因异常(例如 IOException)而失败,这将触发监督。在这一点上,我看到了两种选择:

  • 我一直在恢复/重新启动演员,直到服务器恢复正常,可能是指数退避
  • 我设置参数(例如 maxNrOfRetries = xy)的方式是主管会在 xy 次后放弃并停止 actor

第一种策略似乎很浪费,但第二种策略似乎带来了另一个问题:最终如何重新启动actor?我觉得调整 Backoff supervisor 的参数是最好的方法,但也许我错过了什么?

4

1 回答 1

0

如果您最终需要在不知道连接何时再次启动的情况下重新启动actor,那么指数退避(上限为 60 秒?)似乎是合理的。

这样,如果连接仅丢失几秒钟,您就可以快速重新连接,并且不会浪费资源。回退的上限设置您的演员离线的最长时间,即使连接可能已备份。

于 2016-11-04T16:04:31.060 回答