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