SQL Server との統合のために、XML シリアル化されたメッセージで Rebus SQLTransport を使用しています。メッセージは、SQL Server で行われた変更を表します。そのため、メッセージ配信の順序は不可欠です。
これは、たとえば、メッセージ 1 に、メッセージ 2 で (ID によって) 参照されるオブジェクトが含まれている可能性があるためです。別の例として、メッセージ 1 には、メッセージ 2 からの新しいオブジェクトを受け入れるために必要なオブジェクトの削除要求が含まれている場合があります。
メッセージはトリガーによって生成されるため、メッセージを 1 つのメッセージに集約するのは非常に複雑です。
メッセージの冪等性と 1 つのワーカーがあれば、エラーが発生してメッセージがエラー キューに移動された場合に機能しないという事実を除いて、機能すると思います。検証またはビジネス ロジックの例外が原因で、エラーが発生する可能性は十分にあります。そのため、メッセージの問題を解決できるのは人間だけであり、それまでは他のメッセージは配信されるべきではないと私は信じています。その場合どうするのがベストなのか、アドバイスをいただきたいと思いました。私が見た限り、再試行回数を無限に設定することはできないので、問題が人間によって解決されるまでハンドラー内でサービスを停止する必要がありますか?
前もって感謝します