2010-08-05 7 views
0

Я ищу ввести SS Service Broker,Service Broker Design

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

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

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

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

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

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

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

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

+1

, пожалуйста, прочитайте [FAQ] (http://stackoverflow.com/faq/) и, пожалуйста, узнайте, что такое теги. Вам нужны дефисы между вашими словами. –

ответ

0

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

1.) Процесс сообщения.

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

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

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

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

Я думаю, что MSMQ с потоком Windows Sequential Work также может быть кандидатом на эту задачу.

+0

Спасибо, я вижу, как это будет работать – liam

Смежные вопросы