Я уже несколько недель смотрю на MassTransit, и мне любопытно о возможностях. Тем не менее, я, похоже, не в состоянии правильно понять концепции.Публикация сообщения с использованием ключа обмена и маршрутизации с использованием MassTransit
Ожидаемого поведение Я хотел опубликовать сообщение в «прямой» обмен с ключом маршрутизации, который связывается с двумя различных очередями для выполнения других видов деятельности.
Когда я попытался использовать такую же логику, используя MassTransit для лучшей масштабируемости. Я обнаружил, что MassTransit создает собственный обмен на основе имени очереди с типом разветвления.
Классический код опубликовать сообщение путем обмена и маршрутизации ключ
using (var connection = factory.CreateConnection())
{
using (var channel = connection.CreateModel())
{
channel.ExchangeDeclare(exchange, "direct");
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish(exchange, routingKey, null, body);
Console.WriteLine(" [x] Sent {0}", message);
}
}
Есть ли способ настроить прямую или тему обмена с routingkey в MassTransit?
Спасибо за ваши комментарии. Моему процессу понадобилось бы несколько издателей для публикации сообщений параллельно, поэтому они думали о «прямых» или «тематических» обменах, но они не поддерживаются в MassTransit. У вас есть предложения по наилучшему способу справиться с этим или вы предпочитаете использовать несколько очередей для этого процесса. Кроме того, было бы полезно, если бы вы направили меня к архитектуре MassTransit. – Syed
http://masstransit.readthedocs.org/en/master/ является основной документацией. – Travis
Я не совсем уверен, что вы пытаетесь сделать. Публикация сообщений параллельно не имеет для меня никакого смысла. С MT 3.0 вы можете публиковать асинхронные сообщения. Однако все более или менее параллельно с обменом сообщениями. Если один поток публикуется, значит, другой. То же самое с потреблением. – Travis