0

イベント ソーシングを使用しているときに、2 つの境界付けられたコンテキストを最終的に一貫性を保つにはどうすればよいかという質問に対する答えを見つけています。あるコンテキストのエンティティから別のコンテキストの値オブジェクトにいくつかの値を複製した状況を意味します。値が変更されたときにドメイン イベントを使用して通知を取得できることはわかっていますが、これらの値を使用するイベント ストア内のすべての集計を更新する方法を教えてください。id 以外のプロパティでイベント ストアから集計をクエリするのは困難です。

例:

アイデンティティ コンテキスト:

  • ユーザー (id、ユーザー名、パスワード、メール) - 集約ルート

議論の文脈:

  • Author (id,userame) - 値オブジェクト (これらの値は Identity Context からのものです)
  • Message (id, content, author ) - 集約ルート
4

1 に答える 1

1

(AuthorId, username)ここで値オブジェクトを作成することが適切な選択であるかどうかはわかりません。

  • ユーザー名は、メッセージ集計に含める重要なデータではない可能性が最も高いです。username に基づいて、その集計が強制する不変条件は何ですか?

  • おそらく CQRS が用意されているでしょう (そうではありませんか?) ため、メッセージのユーザー名は、集計自体ではなく、読み取りモデルを介して取得できます。

ディスカッション コンテキストで独立した Author 集計を作成し、メッセージが AuthorId によってのみ参照されるようにします。イベントが Identity から到着したら、AuthorId で集計を見つけて、それに対して必要なことを実行するだけです。

于 2016-03-24T14:07:52.127 に答える