NServicebus + RabbitMQ и дистрибьютор

Шаблон NServiceBus Distributor / Worker идеально подходит для MSMQ из-за жестких требований к локальным входным очередям.

Но это не относится к RabbitMQ, я пытаюсь понять, как и когда дистрибьютор NServiceBus имеет отношение к RabbitMQ. С RabbitMQ несколько рабочих могут читать из одной и той же удаленной очереди.

Фактический сценарий аналогичен использованию группы автоматического масштабирования AWS для горизонтального масштабирования рабочих, указывающих на высокодоступный кластер RabbitMQ. Теперь полное исключение дистрибьютора значительно упрощает настройку, тестирование и настройку.

Мысли?


person D. Luffy    schedule 03.07.2014    source источник


Ответы (2)


NServiceBus - отличная система, которая творит чудеса в большинстве систем очередей сообщений, где у вас нет интегрированного дистрибьютора (что вы делаете с обменами в RabbitMQ). В нашей компании мы используем NServiceBus.

Очереди Azure и MSMQ - прекрасные примеры таких технологий организации очередей.

NServiceBus обрабатывает распространение внутри и поэтому воспроизводит эту возможность для вас.

Однако ... Если вам повезло с возможностью навязать, какую технологию очередей вы можете использовать, то я настоятельно рекомендую вам изучить RabbitMQ и продукт (с открытым исходным кодом) под названием MassTransit.

http://masstransit-project.com/

MassTransit, в свою очередь, может работать в двух режимах и будет либо делегировать, либо моделировать распределение для вас - однако у меня, тем не менее, есть слабость к NServiceBus, как и у наших старших разработчиков.

На этой странице ... http://docs.particular.net/nservicebus/load-balancing-with-the-distributor Использование дистрибьютора полезно только при использовании MSMQ - если вы не используете MSMQ, в этом нет смысла. RabbitMQ и другой транспорт разрешат доступ к одной и той же очереди от нескольких потребителей, а MSMQ - нет. Вкратце, распространитель берет сообщения из основной очереди и распределяет их по нескольким рабочим очередям, поскольку они сообщают, что сделали все, над чем они работают.

person Karell Ste-Marie    schedule 07.07.2014

Поскольку транспорт RabbitMQ попадает в шину брокерского стиля, в вашем случае было бы разумнее не использовать дистрибьютора.

То же самое касается всех переносов в стиле брокера, где вы можете использовать конкурирующий потребительский шаблон для горизонтального масштабирования.

person Sean Farmar    schedule 03.07.2014