2010-12-09 68 views
3

我想在我的一个Scala应用程序中实现某种消息总线。的特征是:斯卡拉消息总线实施的演员?

  • 能力订阅1 ... N类型的消息
  • 消息可以具有有效载荷
  • 松耦合(仅节点持有参考总线)
  • 轻量级(无全面的企业消息队列等)

我打算做的是实现所有节点和总线本身作为标准的斯卡拉参与者。比如我要定义一个特质Subscriber这样的:

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

在这个特质理想的混合应该已经登记认购类型M

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

回答

4

免责声明:我是阿卡的PO

嗨ITTI,

这已经为你在阿卡完成,演员内核:www.akka.io

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

酒吧/ Sub:Akka Listeners 路由器:Akka Routers 便利性:Akka Routing

+0

我把你的答案当作“是的,你可以通过使用演员来实现一个类似巴士的系统”。我可能会做我自己的实施,但会投入一些时间来研究阿卡可以提供什么。谢谢! – aeisele 2010-12-10 20:04:22