Хотя использование LoadFrom
все еще поддерживается, это не рекомендуется, потому что на самом деле это очень плохая практика, когда вы кладете все яйца в одну корзину. Слишком часто я сталкивался с разработчиками, которые имеют десятки потребителей в одной очереди, причем все они не связаны между собой. Важно распределить потребителей по нескольким очередям, чтобы избежать узких мест, разделить трафик в брокере и улучшить видимость системы.
Вместо использования LoadFrom
рассмотрите следующий подход:
cfg.ReceiveEndpoint(host, "adjudication-api", e =>
{
e.PrefetchCount = 16;
e.UseMessageRetry(x => x.Interval(2, 100));
e.Consumer<AdjudicationConsumer>(provider);
});
Затем, если у вас есть другой потребитель, который обрабатывает возмещение, создайте для него отдельную конечную точку:
cfg.ReceiveEndpoint(host, "reimbursement-api", e =>
{
e.PrefetchCount = 16;
e.UseMessageRetry(x => x.Interval(2, 100));
e.Consumer<ReimbursementConsumer>(provider);
});
Используя этот подход, потребители распределяются по нескольким очередям (получают конечные точки).