Actorsのツリー構造の典型的なAkkaアプリケーション、つまり階層の最下部にある数千もの小さなアクタを管理する、少数(2〜3)のトップレベルアクタを想像してみましょう。持続性には2つのアプローチがあるようです:永続化するアクターはどれですか?
- トップレベルのアクターだけを永続化させます。子アクターは、状態回復などのために両親に依存します。
- すべての子アクターを永続化します。永続性IDは数千に上る可能性があり、各アクタは自分の状態を回復できます。
これらのアプローチを選択する際に考慮すべき点はありますか?他のものとうまく適合しないユースケースの典型的な例はありますか?
質問は抽象であると考えられますが、ここにその例があります。アプリケーションのユーザーごとに俳優があり、これらの俳優が同じ親の俳優を共有しているとします。各ユーザーの電子メールアドレスとその更新を永続化したい場合は、すべてのユーザーアクターを永続化するか、トップレベルのアクターを永続化することができます。