私たちの NServiceBus システムは今週遅れました (300,000 メッセージ)。
現在、1 秒あたり約 4 件のメッセージを処理しているため、追いつく時間が長すぎました。
処理を高速化するために、各 NServiceBus メッセージにオブジェクトを追加しました (メッセージあたり 20 個)。
通常、一緒に処理する必要がある場合にのみ、メッセージに複数のオブジェクトを入れます。
しかし、この変更により、パフォーマンスが大幅に向上しました (現在、1 秒あたり約 8 メッセージを処理しています)。これは、NServiceBus ワーカーとディストリビューターの間のハンドシェイクが少ないためだと考えています。
しかし今、この優れたソリューションには問題があることがわかりました。メッセージが失敗すると、20 個のオブジェクトすべてがエラー キューに向かいます。実際に問題があるのはそのうちの 1 つまたは 2 つだけです。
これらのメッセージを分割して再試行する方法が必要です。それを行うことができる ReturnToSourceQueue.exe のオプションはありますか?