Что такое Service Broker в SQL Server? - PullRequest
12 голосов
/ 18 мая 2010

Что такое Service Broker в SQL Server и имеет ли смысл включать его в простую базу данных, а не в распределенную базу данных?

Ответы [ 3 ]

15 голосов
/ 18 мая 2010

SQL Service Broker - это механизм расширения, который позволяет ставить в очередь события для асинхронной обработки.

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

Работает как в простых, так и в распределенных БД. Простым вариантом использования будет очередь журналирования. Мы использовали его на клиенте для постановки в очередь сообщений xml, которые должны обрабатываться асинхронно. Поэтому мы помещаем xml в InitatorQueue, а затем служба извлекает их из очереди, извлекает некоторые необходимые атрибуты через xpath и вставляет их в таблицу постоянства в нашей базе данных.

Вот хороший справочник

5 голосов
/ 18 мая 2010

Service Broker - это система обмена сообщениями, встроенная в ядро ​​базы данных SQL-сервера. Вот несколько статей, которые вы можете прочитать, чтобы увидеть, как это работает.

Централизованный асинхронный аудит с компонентом Service Broker
Централизованный асинхронный аудит между экземплярами и серверами с помощью Service Broker
Как устранять проблемы компонента Service Broker

2 голосов
/ 18 мая 2010

Service Broker - это асинхронная система обмена сообщениями. Позволяет отправить сообщение в очередь. Затем какой-то рабочий процесс принимает сообщение. Нет никаких гарантий относительно заказа, или когда, сообщение получено. Но SQL Server действительно гарантирует, что обработка сообщений происходит транзакционным способом.

Асинхронная передача сообщений является одной из самых тяжелых архитектур. Вы должны тщательно продумать, стоит ли добавленная стоимость сложности.

...