Простой ответ: 1.
Существует два способа повторить попытку с помощью MassTransit.
.UseMessageRetry(r => r.???);
Это находится в памяти и сохраняет сообщение заблокированным. Он также является активным потреблением сообщений, поэтому, если используется счетчик предварительной выборки или предел параллелизма, он будет продолжать учитываться до этого предела.
.UseScheduledRedelivery(r => r.???);
Это перепланирует сообщение для доставки с использованием планировщика (который может быть поддерживается брокером или через Quartz. NET). Он не блокирует последующие сообщения и ставит сообщение в очередь для будущей доставки.
Оба задокументированы здесь .