0

NServiceBus ホスト プロセスによって管理される MyMessageHandler があります。ハンドルはメッセージをデータベースに格納します。

メッセージのスループットを向上できるように、NServiceBus ホスト プロセスに MyMessageHandler プロセス/タスクの複数のインスタンスを並行して開始するように指示する方法はありますか。

public class MyMessageHandler : IHandleMessages<MyMessage>
{
    public void Handle(MyMessage message)
    {
       // Sync call store message into the database           
    }
}

答えはここにあります NServicebus - One endpoint multiple handler threading

4

1 に答える 1

0

これに対する 1 つの解決策は、構成可能な MaximumConcurrencyLevel 設定を利用することです。この機能に関する NServiceBus のドキュメントは、http: //docs.particular.net/nservicebus/msmq/transportconfig#configuration-failure-handling-amp-throttlingにあります。

デフォルト値は 1 です。MaximumConcurrencyLevel を 5 に変更すると、NServiceBus はハンドラーを同時に 5 回実行し、各インスタンスを独自の DTC にラップして、失敗/成功を個別に処理します。

于 2015-06-30T18:28:43.003 に答える