Есть ли способ запустить несколько экземпляров дескриптора сообщения в NServiceBus

У меня есть MyMessageHandler, которым управляет хост-процесс NServiceBus. Дескриптор сохраняет сообщение в базе данных.

Есть ли способ сообщить хост-процессу NServiceBus, чтобы он запускал несколько экземпляров процесса/задачи MyMessageHandler параллельно, чтобы мы могли увеличить пропускную способность сообщений.

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

Ответ здесь: NServicebus — многопоточное обработчики одной конечной точки


person BanditoBunny    schedule 22.06.2015    source источник


Ответы (1)


Одним из решений этой проблемы может быть использование настраиваемого параметра MaximumConcurrencyLevel. Документация от NServiceBus для этой функции находится здесь: http://docs.particular.net/nservicebus/msmq/transportconfig#configuration-failure-handling-amp-throttling

Значение по умолчанию — 1. Если вы измените MaximumConcurrencyLevel на 5, NServiceBus одновременно выполнит ваш обработчик 5 раз и поместит каждый экземпляр в свой собственный DTC, чтобы отдельно обрабатывать неудачи и успехи.

person jinskeep    schedule 30.06.2015