Я начинающий брокер службы Sql Server, и я пытаюсь понять, как лучше всего установить Service Broker для (казалось бы) простого использования: я хочу создать простую рабочую очередь, где одно приложение бросает рабочие элементы в очередь, и отдельное приложение захватывает рабочие элементы из этой очереди и обрабатывает их. Нет необходимости, чтобы первое приложение получало сообщения статуса со второго. Я хочу, чтобы очередь работала в одном экземпляре сервера Sql.Sql Server Service Broker: как структурировать разговоры для простого сценария очереди?
Что смущает меня, так это то, как разговоры/диалоги относятся к этой ситуации. Я знаю, что вы можете отправлять и получать сообщения только в контексте беседы/диалога, но поскольку между этими двумя приложениями нет обратной связи, я чувствую себя потерянным, когда наступает правильное время для создания новой беседы. Возможны две крайние альтернативы:
- Каждый раз, когда я устанавливаю рабочий элемент, я начинаю новый разговор. Поэтому каждый разговор заканчивается тем, что в нем есть только одно сообщение.
- Во время развертывания я вручную создаю один сеанс бесконечной продолжительности жизни. Когда пришло время поставить в очередь рабочий элемент, я всегда отправляю его как часть этого единственного разговора.
Каковы будут последствия перехода любого из этих маршрутов?
Кроме того, в первом случае мне кажется, что мне нужно сделать некоторые КОНЕЦ КОНЕЦ, чтобы сервер Sql мог очищать ресурсы внутри. Есть ли какие-либо указания относительно того, когда было бы правильным местом для их размещения? (Или, возможно, в будущем лучше будет полагаться на тайминги разговоров?)
Вы, кажется, говорите об одной очереди, но ... http://stackoverflow.com/questions/14643015/why-do-i-need-two-sql-server-service-broker-quees-for-a-simple-task – cja