akka - 如何使用 Akka 在 Actor 之间创建类似观察者的交流

标签 akka observer-pattern

在经典编程中,如果我想通知观察者有关更改的信息,我会使用 obeserver 模式。

Akka 中的等效模式是什么?

用例:

  • Actor (PropertyServiceActor) 正在从数据库中读取和缓存属性
  • 不同的actor可以注册到PropertyServiceActor
  • 如果属性发生变化,PropertyServiceActor 会通知注册的参与者有关更改
  • 最佳答案

    看看BroadcastGroup

    //Create group
    val paths = List("/user/workers/w1", "/user/workers/w2", "/user/workers/w3")
    val observers: ActorRef =  context.actorOf(BroadcastGroup(paths).props(), "observers")
    

    要通知所有观察者,只需将消息发送至 observers Actor 引用您也可以通过发送 akka.routing.AddRoutee 添加和删除观察者和 akka.routing.RemoveRoutee .

    您可以找到更多 routing文档。

    关于akka - 如何使用 Akka 在 Actor 之间创建类似观察者的交流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29162891/

    相关文章:

    c++ - 观察者模式中的 Const-correct 通知程序

    java - 一个类的每个方法的观察者

    java - Akka 持久化 cassandra 插件在启动时抛出 NoSuchMethodError

    java - java中Akka流按id排序

    android - Actor(Akka) 和 Handler(Android) 有什么相似之处,有什么区别?

    ruby-on-rails - 在 rails3 中使用观察者自定义回调

    java - 使用观察者模式保持 TableView 更新

    ruby-on-rails - 如何在模型观察者中获取 current_user?

    json - 如何在 akka-http 中编码和解码 mongo ObjectId

    akka - 在 Akka 中停止 actors 的目的是什么?