Akka EventBus是否可以与远程演员合作?

Rob*_*ton 9 akka

Akka的EventBus是否与远程演员合作?

据我所知,它本身并不支持这一点.有人可以确认吗?

看起来可以编写一些提供类似功能的Actors.例如,启动一个订阅远程服务器上的EventBus的远程actor,并将消息发送回本地actor以在本地EventBus上重新发布.但是,如果它已经被支持,那么写这篇文章是没有意义的!

谢谢

Rol*_*uhn 11

EventBus本身是本地的,这意味着事件不会自动转移到其他系统上的EventBuses,但您可以订阅任何您想要的ActorRef,包括远程的.您只需要生成事件的节点上的actor:

case class Subscribe(clazz: Class[_])
system.actorOf(Props(new Actor {
  def receive = {
    case Subscribe(c) =>
      context.system.eventStream.subscribe(sender, c)
  }
}), "eventer")
Run Code Online (Sandbox Code Playgroud)

然后你可以从远程主机上看一个并自己订阅.