10

Akka + Scala を使用して、CQRS + イベント ソーシングを使用してバックエンドを設計しています。成長している状態を処理する方法がわかりません。たとえば、ユーザーのリストが増えていきます。私の理解では、各ユーザーは UserCreated イベントの後に作成され、そのようなイベントは PersistentActor によって再生され、ユーザーはコレクションに保存されます。何かのようなもの:

class UsersActor extends PersistentActor {

    override def persistenceId = ....

    private case class UsersState(users: List[User])

    private var state = UsersState()

    ....
}

明らかに、そのような状態は最終的にこのアクターがメモリに保持するには大きくなりすぎるため、何か間違ったことをしていると思います。

このサンプル プロジェクトを見つけました。各ユーザーを異なるアクターが保持し、必要に応じて (イベント履歴から) ロードする必要があるようです。

これを行う正しい方法は何ですか?どうもありがとう。

4

1 に答える 1