我正在使用Akka,我的设计中有一个监管者角色,拥有一个扮演A角色的子级以及若干个扮演B角色的子级。我想定义一种监管策略,即A失败会升级(终止监管者),而B失败会重启对应的单个 Actor。 这种方案可行吗?是否建议使用?
如果我像这样创建一个记录日志的Actorval logger: ActorRef = actorSystem.actorOf(Props(new Logger())) 当记录器由于异常重新启动时,我的记录器停止写入磁盘。 我一直在发送消息logger ! msg 假设监管者重新启动...
我目前正在研究Akka(Java版本)中的容错性和监督策略。 请参阅http://doc.akka.io/docs/akka/2.3.2/java/fault-tolerance.html和http://doc.akka.io/docs/akka/2.3.2/general/supervis...
什么是在失败后让演员重试并且重试时间间隔逐渐增加的好方法?假设我希望演员在15秒后再次尝试,然后是30秒,然后每分钟尝试一次,直到达到有限次数。 这是我想出来的方案: - 执行实际工作的演员方法具有可选的 RetryInfo 参数,如果存在,则包含当前正在重试的次数。 - 在失败时,演员将...
我对Akka和分布式编程都比较陌生。使用Akka的Mist组件,我创建了受监控的actor来异步处理HTTP请求。目前所有内容都在一台物理机器上以本地actor运行,但我并不知道如何构建一个真正具备容错功能的系统,涉及多个盒子。根据Akka文档所述,通常需要知道一个盒子是否宕机,或者你正在与其...
我该如何处理这里由DbActor抛出的异常?我不确定该如何处理它,是否应将Failure情况传输? class RestActor extends Actor with ActorLogging { import context.dispatcher val dbActor = c...
假设我有一个监督者,他链接了2个演员。当我的应用程序关闭时,我希望优雅地关闭这些演员。调用supervisor.shutdown()是否会停止所有演员,还是我仍然需要手动停止我的演员? 谢谢
假设主管演员定义了某种策略: private static SupervisorStrategy strategy = new OneForOneStrategy(10, Duration.create("1 minute"), DeciderBuilder. ...