演员实施Scala消息总线?

时间:2010-12-09 16:50:45

标签: scala message actor bus

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

  • 订阅1 ... N种消息的能力
  • 消息可能包含有效负载
  • 松耦合(节点只保存对总线的引用)
  • 轻量级(没有完全成熟的企业消息队列等)。

我打算做的是将所有节点和总线本身实现为标准的Scala actor。例如,我想像这样定义一个特征Subscriber

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

理想情况下,混合此特征应该已经注册了M类型的订阅。

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

1 个答案:

答案 0 :(得分:4)

免责声明:我是Akka的PO

嗨Itti,

这已经在Akka,Actor Kernel:www.akka.io

中完成了

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

发布/订阅:Akka Listeners 路由器:Akka Routers 便利性:Akka Routing