Я начинающий новичок Sql Server Service Broker, и я пытаюсь понять, как лучше всего установить Service Broker для (казалось бы) простого использования: я хочу создать простую рабочую очередь, где одно приложение перестает работать элементы в очередь, а отдельное приложение захватывает рабочие элементы из этой очереди и обрабатывает их. Нет необходимости, чтобы первое приложение получало сообщения статуса со второго. Я хочу, чтобы очередь работала в одном экземпляре сервера Sql.
Что меня больше смущает, так это то, как разговоры/диалоги связаны с этой ситуацией. Я знаю, что вы можете отправлять и получать сообщения только в контексте беседы/диалога, но поскольку между этими двумя приложениями нет обратной связи, я чувствую себя потерянным, когда наступает правильное время для создания новой беседы. Возможны две крайние альтернативы:
- Каждый раз, когда я запускаю рабочий элемент, я начинаю новый разговор. Таким образом, каждый разговор заканчивается тем, что содержит только одно сообщение.
- Во время развертывания я вручную создаю один сеанс бесконечной продолжительности жизни. Когда он время, чтобы enqueue рабочий элемент, я всегда отправляю его как часть этого единственного разговора.
Каковы будут последствия перехода любого из этих маршрутов?
Кроме того, в первом случае кажется, что мне нужно сделать некоторые КОНЕЧНОСТИ КОНЕЦ, чтобы сервер Sql мог очищать ресурсы внутри. Есть ли какие-либо указания относительно того, когда было бы правильным местом для их размещения? (Или, возможно, в будущем лучше будет полагаться на тайминги разговоров?)