我认为可能有一个更广泛的应用程序设计使用隐藏在这里Akka的问题,但我会问,如何建立一个监督树,“内核”或“顶级”主管可能监督孩子,监事是其他监事吗?Akka监督管理监督
2
A
回答
1
你可能有一个声明主管的顶级
val kernel = Supervisor(
SupervisorConfig(
OneForOneStrategy(List(classOf[Exception]), 3, 1000),
Supervise(
actorOf[Module1],
Permanent) ::
Supervise(
actorOf[Module2],
Permanent) ::
Supervise(
actorOf[Module3],
Permanent) ::
Nil
)
)
其中模块1〜3代表你的应用程序体系结构的一个新的水平开始。每个模块本身就是对所有的儿童演员监事,例如像
class Module1 extends Actor {
self.faultHandler = OneForOneStrategy(List(classOf[Throwable]), 5, 5000)
def receive = {
case Register(actor) =>
self.link(actor)
}
}
你可能会取代“注册(演员)”的东西更适合你的应用程序消息实现的,你可能要跨越进一步以编程方式创建主管层,但基本上这将是遵循的方法。
在Fault tolerance with Scala或Fault tolerance with Java的官方akka文档中可以找到更多详细信息(如Viktor已经评论的)。
+0
我可以假设这个答案不适用于Akka 2.x吗? – 2012-08-25 12:08:13
+0
没错,这只是Akka 1.x。监督机制在2.x中完全改变了 – Steffen 2012-09-29 14:36:17
相关问题
- 1. 受监督或无监督
- 2. Erlang:谁来监督监督员?
- 3. 内存监督
- 4. ejabberd监督模块
- 5. 如何提出有监督和无监督学习的问题?
- 6. 图像识别使用监督或无监督学习
- 7. 直接/间接和监督/无监督/强化学习
- 8. Akka:未使用Java注册的自定义akka监督策略
- 9. 使用TensorFlow监督员
- 10. 监督树未能启动
- 11. MVP - 监督控制器
- 12. 无监督情绪分析
- 13. 理解Erlang/Elixir的监督职责
- 14. 在AKKA中,是否要求监督员关闭所有正在监督的演员?
- 15. 使用PCA时监督学习和无监督学习的区别
- 16. 减少监督学习的尺寸
- 17. Rails的ACL插件,与设计/监督?
- 18. 监督学习随机森林通过
- 19. 有监督学习的情感分类
- 20. 在MATLAB中监督SOM的培训
- 21. 寻找我的代码监督
- 22. 聚类与非监督分类
- 23. 有监督的运动检测库
- 24. 如何调试设计/监督?
- 25. erlang监督员重新启动策略
- 26. 准备包半监督学习
- 27. 监督Git中的项目更改
- 28. Erlang如何监督多个模块
- 29. NLP的远程监督算法
- 30. NLTK中的无监督HMM训练
让最高管理者产生并链接其他主管,并让这些主管产生并链接工作人员。 – 2011-05-02 21:37:32
感谢Viktor,你是否知道一个以编程方式对比声明式的例子? – Tim 2011-05-03 19:43:49
您必须以编程方式执行此操作,请查看以下文档:http://doc.akka.io/fault-tolerance-scala – 2011-05-04 12:55:23