Akka是不是必须要有大师级的演员?
Is it mandatory to have a master actor in Akka?
我正在尝试学习一些关于 akka actors(在 scala 中)的知识,但我想出了这个我找不到答案的问题。
您是否一定需要创建主 actor 并从那里创建带有 workerRouter 的 worker?
或者您可以跳过这一步,直接从 Main 对象使用 workerRouter 创建 worker 吗?
如果您需要任何代码,请告诉我,但我基本上是在关注 akka 的 HelloWorld。
严格来说:是的。从业务逻辑上来说:no.
Akka 的 actors 是设计的,hierarchical . That means, any actors you create will always have a "parent"/"master", if not one defined yourself, then the /user
guardian actor .
但是请注意,从Akka的系统角度来看,这种层次关系涉及到actor生命周期和child supervision。 它不关心您如何将 actor 与您的消息联系起来and/or 任何自定义生命周期处理。
因此,从您的应用程序的角度来看,您可以让您的 worker actor 运行 作为具有某种共识方案的对等方。他们当然会有系统父级(/user
如果你不自己定义一个),但只要你不关心监督 - 如果你刚刚开始学习 Akka 你可能不会 - 一切将正常工作。
最后,请注意在 "worker pool" 设置中可以有很多工作方案。例如,this article on work pulling 可能会给您一些关于此类问题的可能解决方案的启发。
我正在尝试学习一些关于 akka actors(在 scala 中)的知识,但我想出了这个我找不到答案的问题。
您是否一定需要创建主 actor 并从那里创建带有 workerRouter 的 worker? 或者您可以跳过这一步,直接从 Main 对象使用 workerRouter 创建 worker 吗?
如果您需要任何代码,请告诉我,但我基本上是在关注 akka 的 HelloWorld。
严格来说:是的。从业务逻辑上来说:no.
Akka 的 actors 是设计的,hierarchical . That means, any actors you create will always have a "parent"/"master", if not one defined yourself, then the /user
guardian actor .
但是请注意,从Akka的系统角度来看,这种层次关系涉及到actor生命周期和child supervision。 它不关心您如何将 actor 与您的消息联系起来and/or 任何自定义生命周期处理。
因此,从您的应用程序的角度来看,您可以让您的 worker actor 运行 作为具有某种共识方案的对等方。他们当然会有系统父级(/user
如果你不自己定义一个),但只要你不关心监督 - 如果你刚刚开始学习 Akka 你可能不会 - 一切将正常工作。
最后,请注意在 "worker pool" 设置中可以有很多工作方案。例如,this article on work pulling 可能会给您一些关于此类问题的可能解决方案的启发。