Akka的EventBus是否适用于远程演员?
据我所知,它本身并不支持这一点。 谁能确认一下?
看起来可以编写一些提供类似功能的Actor。 例如,启动一个在远程服务器上订阅事件总线的远程参与者,并将消息发送回本地参与者以在本地 EventBus 上重新发布。 但是,如果已经支持,那么写这个就没有意义了!
谢谢
事件总线本身是本地的,这意味着事件不会自动传输到其他系统上的事件总线,但您可以订阅任何您想要的 ActorRef,包括远程。您只需要在生成事件的节点上添加一个参与者:
case class Subscribe(clazz: Class[_])
system.actorOf(Props(new Actor {
def receive = {
case Subscribe(c) =>
context.system.eventStream.subscribe(sender, c)
}
}), "eventer")
然后,您可以从远程主机中查找该主机并订阅自己。