Монолог беседы в SQL Service Broker 2008 - PullRequest
2 голосов
/ 12 мая 2010

У меня есть сценарий, в котором мне нужно обрабатывать (в SQL Server) сообщения, доставляемые в виде XML-файлов в папке в режиме реального времени.

Я начал исследовать SQL Service Broker для моих потребностей в очередях. По сути, я хочу, чтобы компонент Service Broker взял мои XML-файлы и поместил их в очередь по мере их поступления в папку. Но SQL Service Broker не поддерживает диалоги «Monolog», по крайней мере, в текущей версии. Он поддерживает только диалог между инициатором и целевой службой.

Я могу использовать MSMQ, но тогда мне нужно будет поддерживать две вещи: код .Net для обработки файлов в MSMQ и хранимые процедуры SQL Server T-SQL. Какие варианты у меня остались?

Спасибо.

Ответы [ 2 ]

1 голос
/ 15 декабря 2011

Вы захотите использовать FileSystemWatcher для мониторинга каталога. Ваша реализация может просто отвечать на новые файлы и использовать событие для постановки в очередь обработки файлов (которые могут быть реализованы в Service Broker, если это улучшит вашу жизнь).

Как уже упоминалось на других постерах, вы действительно получаете вещи задом наперед: компонент Service Broker отвечает на сообщения; кто-то должен отправить сообщение, чтобы ответить. Это не общий процесс хоста службы. В зависимости от требований к набору функций и масштабированию / расширению, вы можете захотеть взглянуть на BizTalk, так как это очень распространенный шаблон, реализованный с его помощью, и он имеет ТОННЫ инфраструктуры, поддерживающей все ортогональные компоненты «стоимости ведения бизнеса», чтобы вещь надежная и реально работающая.

Как только вы закончите написание / отладку всего необходимого кода самостоятельно, вы часто обнаружите, что потратили больше $, чем стоимость лицензий. Опять же, это все о требованиях.

0 голосов
/ 12 мая 2010

Отсутствует. Вся идея, которая у вас есть, разрушена - поскольку вы должны забрать файлы из каталога, использование брокера служб просто не имеет смысла начинать с. Вы нуждаетесь в процессе прослушивания, поэтому вы можете также выполнить процесс прослушивания.

...