В Digital Q.DataBase реализован наш аналог Service Broker - встроенный механизм асинхро...
В Digital Q.DataBase реализован наш аналог Service Broker - встроенный механизм асинхронного обмена сообщениями между базами данных через очереди и диалоги. Принцип работы: отправитель → очередь сообщений → обработчик. Отправитель передаёт сообщение, а принимающая сторона извлекает его из очереди для обработки. Отправителю не требуется ждать завершения обработки сообщения получателем. ► Наш аналог Service Broker позволяет обмениваться сообщениями с Microsoft SQL Server в обоих направлениях, используя стандартные команды T-SQL. В представленном примере Digital Q.DataBase находится слева, а Microsoft SQL Server 2022 - справа. Сначала на обеих сторонах создаются службы командой CREATE SERVICE. Каждая служба связывается с очередью сообщений. Затем командой CREATE ROUTE настраивается маршрут доставки; в демонстрации проверяется адрес локального сервера localhost. После настройки командой BEGIN DIALOG CONVERSATION открывается диалог. Через SEND ON CONVERSATION из Digital Q.DataBase отправляется сообщение в Microsoft SQL Server. На стороне SQL Server сообщение принимается, и проверяется его содержимое. Затем Microsoft SQL Server отправляет ответ в рамках того же диалога. На стороне Digital Q.DataBase ответное сообщение извлекается из очереди и читается. Таким образом, демонстрация подтверждает успешный двусторонний обмен сообщениями между двумя СУБД. ► Для заказчика наш аналог Service Broker может быть полезен при постепенной (или даже полной) миграции приложений, использующих этот механизм. Компоненты, работающие на Microsoft SQL Server и Digital Q.DataBase, могут продолжать обмениваться сообщениями при условии поддержки необходимых сценариев. Схемы обмена сообщениями: 1. Очередь сообщений: отправитель → очередь → обработчик. 2. Publisher / Subscriber: одно событие доставляется нескольким подписчикам.