3

私たちの NServiceBus システムは今週遅れました (300,000 メッセージ)。

現在、1 秒あたり約 4 件のメッセージを処理しているため、追いつく時間が長すぎました。

処理を高速化するために、各 NServiceBus メッセージにオブジェクトを追加しました (メッセージあたり 20 個)。

通常、一緒に処理する必要がある場合にのみ、メッセージに複数のオブジェクトを入れます。

しかし、この変更により、パフォーマンスが大幅に向上しました (現在、1 秒あたり約 8 メッセージを処理しています)。これは、NServiceBus ワーカーとディストリビューターの間のハンドシェイクが少ないためだと考えています。

しかし今、この優れたソリューションには問題があることがわかりました。メッセージが失敗すると、20 個のオブジェクトすべてがエラー キューに向かいます。実際に問題があるのはそのうちの 1 つまたは 2 つだけです。

これらのメッセージを分割して再試行する方法が必要です。それを行うことができる ReturnToSourceQueue.exe のオプションはありますか?

4

1 に答える 1

3

カスタムの障害マネージャーを使用して障害管理を引き継いで、エラー キューに転送する前にメッセージを検査することもできます。

于 2013-09-21T14:34:39.333 に答える