我是Akka的新手,我建立了一个连接到HDFS的Akka模型,提取数据,处理数据并将处理后的数据写回HDFS。现在,如果我的主演员崩溃,那么相应的子演员(工人)将崩溃,整个系统必须重新启动。
因此,如果有一个创建辅助主服务器的过程,只要主服务器以最短的恢复时间发生故障,该主服务器就会立即生效。我无法在此周围画出清晰的画面。
任何帮助将不胜感激。
由于
答案 0 :(得分:1)
来自docs:
/ user:卫报演员
可能与之互动最多的演员是所有人的父母 用户创建的演员,名为“/ user”的监护人。使用创建的Actor system.actorOf()是这个actor的孩子。这意味着当这个 监护人终止,系统中的所有正常演员都将被关闭, 太。这也意味着这个监护人的监督策略决定了 顶级正常演员如何受到监督。自从Akka 2.1以来 可以使用设置进行配置 akka.actor.guardian-supervisor-strategy,它采用了 SupervisorStrategyConfigurator的完全限定类名。什么时候 监护人升级失败,根监护人的回应将是 终止监护人,实际上将关闭整个监护人 演员系统。
你的主人是你申请中的顶级演员,因此他是用户监护人的孩子,所以他会自动重启,因为对Guardian的监督是默认的:
final val defaultDecider: Decider = {
case _: ActorInitializationException ⇒ Stop
case _: ActorKilledException ⇒ Stop
case _: DeathPactException ⇒ Stop
case _: Exception ⇒ Restart
}
答案 1 :(得分:0)
或者你可以有一个主管,一个/用户监护人的孩子,可以重新启动它的孩子你所指的主人。如果有任何事情可以导致演员获得异常,那么应该由儿童演员完成。可以在其他操作中重新启动子actor