私は CQRS と結果整合性モデルを初めて使用するので、これがばかげた質問である場合はご容赦ください。
始めたばかりなので、ローカル メモリ内に CommandBus と EventPublisher があります。私のイベントは再生目的で RavenDB データベースに永続化されますが、イベントは発行され、ハンドラーはローカルで呼び出されます (NServiceBus などを介して外部でキューに入れられることはありません)。EventPublisher はイベントを非同期に発行します (Task.Factory.StartNew のように)。
イベントに依存関係がある場合があります (たとえば、OrderShipmentStatusUpdated イベントを ReadModel に正しく処理する前に、OrderReceived イベントを ReadModel に処理する必要があります)。
この種のシナリオをどのように処理できますか? サガを使う?上記のような単純なメモリ内モデルで Sagas を使用するにはどうすればよいでしょうか。イベントを「延期」することは受け入れられると考えられますか (おそらく、それを延期としてマークし、延期されたすべてのイベントを「たまに」再処理しようとします)。
これに対処するためのいくつかの戦略は何ですか?
ありがとうございました。