1

私は実際にDDDとNoSqlフィールドをさまよっています。私は今疑問を持っています: 集計からイベントを生成する必要があり、NoSql ストレージを使用したいと考えています。しかし、イベントがストレージに保存され、集約ルートの変更がトランザクションを持たないことをどのように確認できますか? それは理にかなっていますか?イベント ソーシングやトランザクション データベースを使用せずにこれを行う方法はありますか? 実際、私は 2 フェーズ コミット アルゴリズムの実装を検討していましたが、パフォーマンスの観点からはかなり重いようです...問題に間違った方法でアプローチしていますか? 質問がいっぱいです...すべての提案に感謝します エンリコ

PS私はstackoverflowの初心者なので、提案/批評家/ ...は大歓迎ですエンリコ

編集 1

何かが起こったことを集約に通知するイベントが必要であり、変更に反応する必要があります。このようなイベントがビジネス ロジックにとって重要な場合に、問題が発生します。私が理解している限り、一晩考えた後、nosqlストレージを使用してそのようなことを行うことはできません。説明させてください (大きな声で考えます:P):

  • ESあり(1stシーナリー):データの「差分」を保存します。次に、それに関連付けられたイベントを生成します。2操作。
  • ESあり(2ndシーナリー):データの「差分」を保存します。プロセス、ES を監視し、イベントを生成します。しかし、私は、イベントの正しい順序付けを確実にするために、ウォッチャー プロセスを 1 つだけ持つことに縛られています。
  • ES (3d シーナリー) あり: べき等イベント。イベントは状態によって推測でき、イベントを再適用するたびに、コンシューマーに 1 回だけ変更を加えることができ、複数の「デキュー」プロセスを持つことができ、重複が発生する可能性はありません。1 操作ですが、消費者に大きな制限をもたらします。
  • 一般的に: 集計のデータを保存します。次に、それに関連付けられたイベントを生成します。2操作。

ドメインイベントがビジネスプロセスの基本的な部分である場合、ドメインイベントとnosqlを操作することは可能ですか? 同じパフォーマンスを得るためにかなり多くのマシンを追加する必要があるとしても、それはリレーショナルに移行するためのより良いオプションになると思います。

編集 2完全を期す ために、Google で「ドメイン イベント nosql べき等」を検索します。

4

1 に答える 1