我正在设计一个后端,使用CQRS +事件源,使用Akka + Scala。我不知道如何处理一个不断发展的国家。例如,我将有一个越来越多的用户列表。据我所知,每个用户都将在UserCreated事件之后创建,这样的事件将由PersistentActor重放,用户将存储在一个集合中。类似于:
class UsersActor extends PersistentActor {
override def persistenceId = ....
private case class UsersState(users: List[User])
private var state = UsersState()
....
}显然,这样的状态最终会变得太大,不能被这个演员记住,所以我想我做错了什么。
我找到了这示例项目:这个想法似乎每个用户都应该由不同的参与者持有,并根据需要加载(从事件历史中)。
怎样才是正确的方法?非常感谢。
发布于 2015-12-04 10:24:23
答案是:每个聚合/实体(在我的示例中,每个用户)都有自己的参与者,它嵌入了该特定实体的状态,并且只嵌入了该实体的状态。
https://stackoverflow.com/questions/33431691
复制相似问题