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

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

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

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

Ответ здесь NServicebus - потоковая обработка в нескольких конечных точках

1 ответ

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

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

Другие вопросы по тегам