3

我想在我的一个 Scala 应用程序中实现某种消息总线。特点是:

  • 能够订阅 1 .. N 类型的消息
  • 消息可能有有效载荷
  • 松耦合(节点只持有对总线的引用)
  • 轻量级(没有完全成熟的企业消息队列等)

我计划做的是将所有节点和总线本身实现为标准 Scala 演员。例如,我想定义这样的特征Subscriber

trait Subscriber[M <: Message[_]] {
  this: Actor =>
  def notify(message: M)
}

理想情况下,混入这个 trait 应该已经注册了 type 的订阅M

那么这个想法有意义吗?有没有更好的方法来实现消息总线?

4

1 回答 1

4

免责声明:我是 Akka 的 PO

嗨,伊蒂,

这已经在 Akka 中为您完成,Actor Kernel:www.akka.io

文档:http ://doc.akkasource.org/routing-scala

发布/订阅:Akka 侦听器 路由器:Akka 路由器 便利性:Akka 路由

于 2010-12-09T20:11:23.443 回答