NEventStoreのトランザクションの整合性について徹底的に読んでいますが、NEventStoreの多くのインスタンスを配線したときにNEventStoreが実際にどのように拡大するのか把握することはできません。NEventStore:未ディスパッチイベントのディスパッチはどのようにスケールされますか?
私の理解を要約すると、Eventはディスパッチャとしてコミットするために追加され、ディスパッチャにパブリッシュされ、ディスパッチされたとしてマークされます。
同時に、NEventStoreを接続するたびに、未ディスパッチイベントが検索され、ディスパッチされ、ディスパッチされたイベントとしてマークされます。
しかし、新しいイベントストアの配線が(他のストアからの)ディスパッチされようとしているディスパッチされていないイベントを見ると、短い時間間隔が必要です。新しいイベントストアがイベントを再送します。このアーキテクチャの
考える:私たちは私たちの負荷を処理するCommand Handlers
多くを持っている場合は
Client -> Command Bus -> Command Handler -> EventStore persist -> Dispatch to Event Handlers
、我々はまた、多くのイベントを永続化されるだろう。
多くの場合、Command Handlers
を処分したり作成したりすると、多くのイベントストアが配線され、すでにディスパッチされているイベントのディスパッチが発生します。
私はディスパッチャのコンシューマが冪等でなければならないことを理解していますが、これは私の問題ではありません。私の問題は、負荷の高い状況でコマンドハンドラが消費者に不必要な負荷をかけるかどうかです。