Akka framework (Scala) - Агенты для хранения больших сложных состояний - PullRequest
3 голосов
/ 21 августа 2011

Я недавно обнаружил фреймворк akka и почувствовал, что он хорошо подходит для одного из моих проектов. Я должен сказать, что до сих пор очень впечатлен этим.

В моем проекте мне нужно, чтобы 1M + субъекты получали обновления состояния с очень высокой скоростью. Естественно, актеры Акка, кажется, первый выбор. Однако мне интересно, не лучше ли использовать агенты для хранения обновлений состояния (пока у моих актеров есть только два сообщения - одно для обновления состояния, а другое для его чтения), и я не верю, что когда-нибудь измениться).

Глядя на несколько примеров для агентов, я чувствую, что они не предназначены для хранения большого сложного состояния. Я не прав?

Короче говоря, я хотел бы хранить что-то вроде:

case class AgentState(val list1 : List[Int], val list2 : List[Int], val peers : List[Agent])

Очевидно, что обновление состояния становится менее привлекательным, чем в игрушечных примерах, где вы используете целые числа;)

Имеет ли смысл тогда иметь Агента? Как бы вы поступили так?

Спасибо за ваши ответы!

-LP

1 Ответ

4 голосов
/ 21 августа 2011

Агенты Akka поддерживаются Актерами, поэтому это имеет смысл, только если вы хотите иметь одновременно работающих читателей и серийных писателей.

...