В моем проекте Service Broker мне нужно было выполнять асинхронные вызовы, и мне нужно было поработать в фоновом режиме (только внутри SQL Server, например, при обновлении таблиц).
Существуют определенные моменты, которые необходимо принять во внимание, исходя из требования:
- Это своего рода односторонняя передача данных.Просто поместите сообщение в очередь SB и забудьте.Подтверждение не требуется.
- В проекте задействована только одна база данных.Нет необходимости в нескольких базах данных.
- Сообщение будет помещено в очередь SB с помощью сохраненного процесса (этот SP будет вызываться приложением).
При соблюдении вышеуказанных пунктовПохоже, что требование не подходит для создания 2 разных сервисов SB, так как достаточно только одного сервиса.Я разработал сценарий с наличием только одной службы SB, и при создании диалогового диалога я назначил одно и то же имя службы предложениям «От» и «До».Программа отправляет данные в очередь SB, и активатор активирует связанную процедуру Store .. Она работает просто отлично.
BEGIN DIALOG CONVERSATION @RecordConversationHandle
FROM SERVICE **UpdateQueueStatus**
TO SERVICE '**UpdateQueueStatus**'
WITH ENCRYPTION = OFF;
Пожалуйста, помогите мне с любым предложением относительно предложенного выше дизайна ..?Будем весьма благодарны за любые предложения / проблемы или что-либо, что требует внимания для улучшения дизайна для повышения производительности и масштабируемости.