Подтвердить что ты не робот

К MSMQ или не к MSMQ? (или SQL-таблица в качестве очереди)

У меня есть распределенная система, в которой будут 1 сервер SQL Server, 1-n серверы обработки и 1-n поставщики данных (аппаратные устройства по всей сети). Предоставляемые данные потребуют обработки до перехода в структуру реляционной БД - выполняются серверами обработки (в качестве кодов служб Windows -.net для анализа данных, их обработки и вставки в реляционную структуру.)
Чтобы обрабатывать потенциальную нагрузку и не замедлять поставщиков данных, я хочу реализовать очередь, но я не уверен, что хочу добавить сложность сервера MSMQ в микс. Есть ли хорошая альтернатива MSMQ, например, использование DB (плоской таблицы) в качестве очереди? Предоставляет ли .NET любую готовую поддержку для очередей БД, или есть еще один вариант для надежной очереди?
Благодаря

EDIT: (29 ноября, 23:30)
звучит как SQL Service Broker (SSB), может сделать трюк.
http://www.netframeworkdev.com/windows-communication-foundation/service-broker-vs-msmq-as-reliable-queueing-mechanism-63981.shtml

EDIT: (30 ноября, 7:45)
Нашел еще одну очень полезную ссылку на эту тему:
http://social.msdn.microsoft.com/Forums/en-US/sqlservicebroker/thread/52687510-0852-44f3-bfcd-83610d1c1b9a
Я также изучаю максимальный/минимальный размер данных, которые будут поставляться. Из верхней части головы кто-нибудь знает максимальный размер, размещенный MSMQ и/или SSB?
MSMQ: размер сообщения 4 МБ
SSB: размер сообщения 2 ГБ

РЕДАКТИРОВАТЬ: (30 ноября, 8; 15:00)
Большое сравнение между MSMQ и SSB здесь:
Хорошая стратегия для очереди сообщений?

4b9b3361

Ответ 1

Я бы использовал MSMQ, он не добавляет такой сложности, и так легко создавать резервные копии сообщений, поэтому обработка может продолжаться даже после перезапуска системы. Вы можете использовать что-то вроде SSB.

Ответ 2

Из двух вариантов MSMQ на самом деле более упрощен. Если вам нужна возможность переориентировать работу, или агенты обработки выбирают только определенные типы заданий в очереди, тогда вы не можете использовать MSMQ. Если вам не нужен какой-либо из этих колоколов и свистов, то MSMQ - это торт для использования с .NET.