Существует ли масштабируемая альтернатива уведомлениям о запросах SQL Server для создания событий в приложении из SQL Server?

Уведомления о запросах SQL Server — отличный инструмент, но он не очень хорошо масштабируется. Каждое приложение, которое хочет/нуждается в уведомлениях, должно поддерживать открытое соединение с базой данных в течение времени, в течение которого оно хочет получать уведомления (обычно все время работы приложения).

Я открыт для творческих решений. Внезапно я подумал о том, чтобы разместить на сервере службу, которая подписывалась бы на уведомления о запросах SQL Server, которые затем могли бы уведомлять клиентские приложения. В этом случае у вас открыто только одно соединение с базой данных (и почему бы просто не оставить его открытым все время), а затем ваши клиентские приложения могут просто подписаться на службу для получения уведомлений.

Идеи??


person richard    schedule 11.05.2011    source источник
comment
Какую проблему вызывают у вас эти открытые соединения с базой данных?   -  person Damien_The_Unbeliever    schedule 11.05.2011
comment
Ну на самом деле нет. В моем случае это не имеет значения. В настоящее время у меня не более 20 пользователей одновременно. Но у меня могло бы быть до 350 (если все на клиенте используют приложение одновременно). Но на самом деле, я просто хочу знать, так что у меня есть еще один трюк в моей сумке. И если есть масштабируемая альтернатива, я буду использовать ее, потому что лучше перестраховаться, чем сожалеть. :-)   -  person richard    schedule 11.05.2011
comment
Как насчет создания службы, которая передает данные клиентским приложениям? Таким образом, активное соединение с базой данных требуется только службе, и у вас есть больше возможностей для масштабирования соединений клиент-сервер.   -  person TheHitchenator    schedule 06.02.2019


Ответы (1)


Возможно, вы захотите создать собственное решение с помощью SQL Server Service Broker и db_mail или внешних активаторов.

person Michael    schedule 12.05.2011
comment
Это отличная идея. Итак, что-то вроде того, что SQL-сервер отправляет электронное письмо на адрес электронной почты, который обрабатывается приложением .NET? - person richard; 14.05.2011