Scala Akka:如何按角色查找集群中的当前节点?

Scala Akka:如何按角色查找集群中的当前节点?,scala,akka,broadcast,akka-cluster,Scala,Akka,Broadcast,Akka Cluster,我正在使用集群,我想通过集群中的角色(选择器)向所有节点发送消息-类似于广播,但在第一次成功或全部失败时响应。我不想等待超时,例如ScatterGatherFirstCompletedGroup 我想到的一个方法是制作我自己的广播,但我必须知道有多少演员我在等待回应。如果他们都失败了,我会立即回复。有没有办法按角色查找集群中的当前节点 或其他任何建议? < P>您可能想考虑通过将其添加到它的角色条件中,将@ Patrik Nordwall修改为更通用的集群节点问题。例如,在 CASE M中添加“

我正在使用集群,我想通过集群中的角色(
选择器
)向所有节点发送消息-类似于
广播
,但在第一次成功或全部失败时响应。我不想等待超时,例如
ScatterGatherFirstCompletedGroup

我想到的一个方法是制作我自己的广播,但我必须知道有多少演员我在等待回应。如果他们都失败了,我会立即回复。有没有办法按角色查找集群中的当前节点


或其他任何建议?

< P>您可能想考虑通过将其添加到它的角色条件中,将@ Patrik Nordwall修改为更通用的集群节点问题。例如,在<代码> CASE M中添加“<代码> M.HasPoin(角色)< /代码>”,如果M.Stase=“MeistSturt.Up= > M地址< /代码>,等等。

您还可以创建群集广播路由器,然后通过向路由器发送
GetRoutees
消息来获取其路由。另见

 implicit lazy val actorSystem: ActorSystem = ActorSystem("mysystem")
 lazy val cluster = Cluster(actorSystem)
 cluster.state.members.filter(m => m.hasRole("admin"))