1

Event store と Event Hydration の独自の実装を作成したくないと判断した後、POC で使用するために Eventflow を調べようとしています。Eventflow は良いオプションのようです。私は現在Mediatrを使用しており、イベントフローを使用して最小限に抑えるために、コマンド処理とイベント発行を使用します。

ドキュメント「In an event source system like EventFlow, aggregate root data are stored on events.」の 1 行で行き詰まりました。

これは、イベントがデータベース/イベント ストアに保存されるたびに、現在の集計とその状態も保存されるということですか?

イベントで集計を保存する必要があるのはなぜですか? 集約をロードするときにイベントを適用すると、状態が戻るはずですよね?

また、そうする場合、イベント自体はかなり軽量であり、集計データ ストレージによりかさばることになると考えてください。

それはどのような目的に役立ちますか?

ステートメントを間違って理解しましたか?

リンク https://eventflow.readthedocs.io/Aggregates.html ここに画像の説明を入力 ありがとうございます。

3月

4

1 に答える 1

1

以下は、さらに検討した結果です。私は小さなテストアプリを作成し、集計情報なしでイベントがシリアル化されていることを確認できました。「EventFlow のようなイベント ソース システムでは、集計ルート データがイベントに格納される」という意味だったのかもしれません。
AggregateId、AggregateName を格納しますが、データにはイベントからの逆シリアル化された情報のみが含まれます。

私が今見ていて、必要なデータ以上のものがあるかもしれないのはメタデータだけです。どこで使用されているのかわかりません。特に http ヘッダーの使用 他のデータ データは、同じレコードの他のフィールド (シーケンス番号や集約 ID など) に既に格納されています。

eventflow チームがドキュメントでこれをより明確にすることをお勧めします。私のような初心者に役立ちます。ストレージ内のイベント データがどのように見えるかの例を追加できます。

より多くの情報を含むより良い回答がある場合に備えて、この回答を受け入れずに残します。

ここに画像の説明を入力

于 2020-02-12T17:21:06.103 に答える