Akka Supervsion和Monitoring

Supervision

Akka的Actor只能由其他 的Actor创建 ,而顶部的Actor由库来揭幕。每一个创建出来的Actor只能由它的创建者监管。在Actor System启动时,至少会启动3个Actor:

  • “/"根监管:在路径树的最顶部,所有的Actor都可以通过它来找到。
  • ”/user“user监管:在路径树的第二层。是所有由用户创建的顶级Actor的监管者,即用ActorSystem.actorOf创建的Actor的监管者。
  • ”/system“system监管:在路径树的第二层。是所有由系统创建的顶级Actor(如日志监听或配置指定在Actor系统启动时自动 部署的Actor)的监管者

其他在路径树二层的监管还有:

  • ”/temp“:是所有系统创建的临时Actor(如用在ActorRef.ask的实现中的Actor)的监管
  • "/remote"是一个人造的路径,用来存放所有其监管者是远程Actor引用的Actor

Monitoring

生命周期监控是向监控Actor发送Terminated消息。如果没有处理,默认抛出一个DeathpactException。Monitoring对于监控器要结束子Actor但是双不能够简单地重启Actor这种场景特别有用。

猜你喜欢

转载自blog.csdn.net/weixin_40763897/article/details/94339753