我是新来的 akka 和坚持与这个问题。
我有四个演员,但不知何故,广播消息总是去一个演员
下面是一个示例代码
def hashMapping: ConsistentHashMapping = {
case ReduceNameTitlePair(name,title) => {
//println(s"\n***Using ${name} as the key")
name
}
}
var actorReduceRouter = context.actorOf(RemoteRouterConfig(ConsistentHashingPool(numReducers,hashMapping = hashMapping), addresses).props(Props(classOf[ReduceActor])))
actorReduceRouter ! Broadcast("SEND ME YOUR DATA"))
请帮帮忙
1条答案
按热度按时间g2ieeal71#
在Classic Actors中,你可以使用
Broadcast
向路由器中的所有参与者发送消息,包括ConsistentHashingRouter
。当我运行下面的代码时,我得到了所有三个参与者都收到的消息。你似乎在使用上面的广播,所以我怀疑你的远程配置。但是因为你并没有在这里发布任何关于你的远程设置的信息,所以我也没有什么可以做的来解决问题。我建议你使用支持群集的路由器而不是手动远程,但是我不知道这是否与你的问题有任何关系。