Я хочу реализовать какую-то шину сообщений в одном из моих приложений Scala. Особенности будут:Реализация шины сообщений Scala от актеров?
- возможности подписки на 1 .. N тип сообщений
- сообщений могут иметь полезные нагрузку
- слабосвязанность (только узлы содержат ссылку на шину)
- легких (нет полностью опущенная корпоративная очередь сообщений и т. д.)
Я планирую реализовать все узлы и сам автобус в качестве стандартных актеров Scala. Например, я хочу, чтобы определить черту Subscriber
так:
trait Subscriber[M <: Message[_]] {
this: Actor =>
def notify(message: M)
}
В идеале смешивание в этих чертах уже должно зарегистрировать подписку типа M
.
Так ли это имеет смысл? Существуют ли более эффективные подходы к реализации шины сообщений?
Я принимаю ваш ответ как «да, вы можете реализовать автобусную систему с помощью актеров». Я, вероятно, сделаю свою собственную реализацию, но потрачу некоторое время на то, что может предложить Akka. Спасибо! – aeisele 2010-12-10 20:04:22