0

我有一个由 NServiceBus 主机进程管理的 MyMessageHandler。句柄将消息存储在数据库中。

有没有办法告诉 NServiceBus 主机进程并行启动多个 MyMessageHandler 进程/任务实例,这样我们就可以增加消息吞吐量。

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

答案在这里 NServicebus - 一个端点多个处理程序线程

4

1 回答 1

0

一种解决方案是使用可配置的 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 回答