CQRS/EventStore:発見されていないイベントをディスパッチする方法は?
-
27-10-2019 - |
質問
驚くべきライブラリイベントストア3.0には、aがあります
store.Advanced.GetUnDispatchedCommits();
これらを派遣するための最良の方法/パターンは何ですか?
私は単にループしてディスパッチャーに電話してから、それがディスパッチされていることを示すコミットを更新しますか(もしそうなら、私はこれをどのように行うでしょうか)?
また、イベントストアの配線中に、起動時にディスパッチされていないコミットで発送が試みられます。どうすればこれが行われるのを避けることができますか?
これらの質問は、プロジェクトの問題ではなく、イベントストアがどのように機能するかを学ぶことに関係しています。
解決
「ディスパッチスケジューラ」は、スタートアップ中にすべての非表示になっていないコミットをロードしようとするものです。独自に作成し、スタートアップで呼び出されるメソッドをオーバーライドできます。同時に、私はそれをお勧めしません。イベントストアの背後にあるモデルは、すべての断層のトレランスと障害の回復に関するものです。具体的には、コミットが継続された直後にマシンが死んでおり、ディスパッチャーがまだメッセージのプッシュを完了していない場合、イベントストアは、発見されていないコミットを発送することにより、スタートアップで中断したところから中断した場所にピックアップしたいと思います。
所属していません StackOverflow