Реализация шины сообщений Scala актерами? - PullRequest
3 голосов
/ 09 декабря 2010

Я хочу реализовать некую шину сообщений в одном из моих приложений Scala.Возможности:

  • возможность подписки на 1 .. N типов сообщений
  • сообщения могут иметь полезную нагрузку
  • слабая связь (узлы содержат только ссылку нашина)
  • легковесный (без полной очереди корпоративных сообщений и т. д.)

Я планирую реализовать все узлы и саму шину в качестве стандартных акторов Scala.Например, я хочу определить черту Subscriber следующим образом:

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

В идеале, микширование в этой черте должно уже регистрировать подписку для типа M.

Так же как и эта идеяимеет смысл?Есть ли лучшие подходы для реализации шины сообщений?

1 Ответ

4 голосов
/ 09 декабря 2010

Отказ от ответственности: Я ПО Акки

Привет Итти,

Это уже было сделано для вас в Акке, Ядро Актера: www.akka.io

Документы: http://doc.akkasource.org/routing-scala

Pub / Sub: Прослушиватели Akka Маршрутизаторы: Маршрутизаторы Akka Удобство: Маршрутизация Akka

...