有没有办法在NServiceBus中启动消息句柄的多个实例

时间:2015-06-22 09:31:29

标签: parallel-processing nservicebus message-handlers

我有一个由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 handlers threading

1 个答案:

答案 0 :(得分:0)

对此的一个解决方案是利用可配置的MaximumConcurrencyLevel设置。 NServiceBus针对此功能的文档位于:http://docs.particular.net/nservicebus/msmq/transportconfig#configuration-failure-handling-amp-throttling

默认值为1.如果将MaximumConcurrencyLevel更改为5,NServiceBus将同时执行您的处理程序5次并将每个实例包装在其自己的DTC中以分别处理失败/成功。

相关问题