Когда MassTransit направляет новые сообщения?

Обновление: рассматриваемая очередь по умолчанию является частью реализации MassTransit, которую я исследовал, решив, что вопрос спорный.


Насколько я понимаю MassTransit, когда вы публикуете сообщение, оно сначала попадает в очередь публикующего приложения по умолчанию.

Пока потребитель зарегистрирован для этого типа сообщения, MassTransit немедленно направляет сообщение в соответствующую очередь сообщений или ждет, пока не станет доступен рабочий поток для этого потребителя?

Полагаю, я действительно хочу знать следующее: является ли очередь по умолчанию узким местом?

Я использую MassTransit 2.7.0 с MSMQ.


person Jeff Sternal    schedule 24.07.2015    source источник
comment
Я голосую за то, чтобы закрыть этот вопрос как не по теме, потому что он касается проприетарной реализации MassTransit, которая не будет представлять общий интерес.   -  person Jeff Sternal    schedule 26.07.2015


Ответы (1)


Во-первых, о какой версии MassTransit вы говорите? Во-вторых, каким транспортом вы пользуетесь?

Если вы используете RabbitMQ, сообщения сразу публикуются на бирже. Любые очереди, привязанные к целевому обмену, немедленно получат копию сообщения. Если очереди отсутствуют, сообщение испаряется в атмосферу, как выдох.

При создании конечной точки приема MassTransit привяжет очередь конечных точек к обменам, которые соответствуют типам потребляемых сообщений. Например, если потребитель для MessageA подключен к конечной точке приема, создается привязка между MyNamespace.MessageA и input_queue, указанным для конечной точки приема. Также создается промежуточный обмен с тем же именем, что и у очереди, и все привязки проходят через этот соответствующий обмен.

Это упрощает подключение очереди, отправляя копию каждого сообщения, доставленного в очередь, в другую очередь для аудита, диагностики и т. Д.

Если вы используете MSMQ, что ж, это другая история, и она заканчивается тем, что MassTransit 3 не поддерживает MSMQ (а публикация на MSMQ - это просто не лучшая история, хотя она хорошо работает для отправки / получения).

person Chris Patterson    schedule 24.07.2015
comment
Спасибо, Крис - выше я добавил пояснения. - person Jeff Sternal; 24.07.2015
comment
Достаточно ли я ответил на ваши вопросы? И 2.7.0 - древний, 2.10 - самый последний. - person Chris Patterson; 25.07.2015
comment
Мне сложно найти ответ для MSMQ. Поскольку MSMQ - это другая история, чем RabbitMQ, означает ли это, что очередь по умолчанию действительно является узким местом? Сообщения не читаются из очереди по умолчанию, пока не станет доступен потребитель? - person Jeff Sternal; 25.07.2015
comment
Я не знаю, что такое очередь по умолчанию, .ReceiveFrom () - это то, от чего экземпляр шины получает сообщения, и ничего больше. - person Chris Patterson; 26.07.2015
comment
Мои извинения, Крис. Шина по умолчанию - это деталь реализации, которую я исследовал, а не часть самого MassTransit. Спасибо вам за помощь! - person Jeff Sternal; 26.07.2015