【发布时间】:2016-02-06 07:19:39
【问题描述】:
我有一个 Scala 应用程序,其中有多个节点。每个节点都有一个 ActorSystem 和一个主要演员,每个演员必须有一些 ActorRef 到某些演员(例如,“节点 1”有“Actor3”,“Actor3”需要“Actor7”和“Actor8”的 ActorRef 来完成它的工作) .我的问题是我不知道另一个节点(“Node2”)是否具有我正在寻找的“Actor1”或“Actor7”。
我的想法是在每个 MemberUp 中循环,多次使用 ActorSelection 并询问每个新成员是否有我正在寻找的演员。这是我能做到的唯一方法吗?有没有办法更有效地做到这一点?
【问题讨论】:
-
如果我没有误解你,为什么不使用akka cluster singleton?集群单例 — Akka 文档 doc.akka.io/docs/akka/snapshot/scala/cluster-singleton.html ,您可以像 Fatih Donmez 所说的那样持有
Map[Address,List[ActorRef]]或使用该单例使用远程路由器生成子工作者
标签: scala akka actor akka-cluster