Сервис Брокер Дизайн - PullRequest
       32

Сервис Брокер Дизайн

0 голосов
/ 05 августа 2010

Я хочу представить SS Service Broker,

У меня есть база данных удаленных заказов и локальная база данных обработки, все действия с базой данных обработки должны выполняться последовательно, это кажется идеальной работой для Service Broker!

Я настроил инфраструктуру, я могу отправлять и получать сообщения, и теперь я смотрю на дизайн обработки. Как я уже сказал, все процессы для одного заказа должны быть выполнены последовательно, поэтому я помещу их в один разговор.

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

У меня были некоторые идеи, но я уверен, что где-то упустил трюк

1) Записать все элементы очереди в таблицу состояния и использовать значения состояния - кажется, что это устраняет некоторую гибкость SSSB и добавляет еще один уровень задач

2) Держать транзакцию открытой, пока мы не получим данные - не идеально

3) Постоянно опрашивать задачу импорта плоского файла на предмет появления файла - это кажется неэффективным

Каков наиболее эффективный способ управления этим рабочим процессом? заранее спасибо

1 Ответ

0 голосов
/ 05 августа 2010

На мой взгляд, это как цепь ответственности.Насколько я понимаю, у нас есть следующий рабочий процесс.

1.) Обработка сообщения.

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

3.) После получения данных обработайте данные.

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

Я предполагаю, что одна обработка заказа не помешает другой обработке заказа.

Я думаюMSMQ с последовательным рабочим процессом Windows также может быть кандидатом на эту задачу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...