Я недавно обнаружил фреймворк akka и почувствовал, что он хорошо подходит для одного из моих проектов. Я должен сказать, что до сих пор очень впечатлен этим.
В моем проекте мне нужно, чтобы 1M + субъекты получали обновления состояния с очень высокой скоростью. Естественно, актеры Акка, кажется, первый выбор. Однако мне интересно, не лучше ли использовать агенты для хранения обновлений состояния (пока у моих актеров есть только два сообщения - одно для обновления состояния, а другое для его чтения), и я не верю, что когда-нибудь измениться).
Глядя на несколько примеров для агентов, я чувствую, что они не предназначены для хранения большого сложного состояния. Я не прав?
Короче говоря, я хотел бы хранить что-то вроде:
case class AgentState(val list1 : List[Int], val list2 : List[Int], val peers : List[Agent])
Очевидно, что обновление состояния становится менее привлекательным, чем в игрушечных примерах, где вы используете целые числа;)
Имеет ли смысл тогда иметь Агента? Как бы вы поступили так?
Спасибо за ваши ответы!
-LP