Сначала вам нужно определить, что для вас значит МГНОВЕННЫЙ.Для некоторых это означает, что в течение секунды 90% времени.Для других они были бы счастливы иметь 10-20 секундный разрыв в среднем.И что еще более важно, вы должны понимать последствия ваших требований;Другими словами, стоит ли иметь почти нулевое время ожидания для вашего бизнеса?Чем более смягчены ваши требования, тем дешевле будет их построить и тем проще будет их обслуживать.
Вы должны знать, что получение уведомлений в режиме реального времени может быть очень дорогим с точки зрения вычислительных и блокирующих ресурсов.Чем больше вы обновляете, тем больше требуется веб-циклических обходов (даже если в этом случае они минимальны).Обновление данных до второго также может быть дорогостоящим для базы данных, потому что вы потенциально создаете большой объем запросов, что, в свою очередь, может повлиять на другие хорошо выполняемые запросы.Например, если ваш веб-сайт работает с 1000 вошедшими в систему пользователями, вам может потребоваться 1000 запросов к базе данных в секунду (при условии, что это ваше определение INSTANT), что, в свою очередь, может создать условие регулирования в SQL Azure, если оно не разработано должным образом.
Подход, который я использовал в прошлом для аналогичного требования (хотя точность была не с точностью до секунды, а скорее с точностью до минуты), заключался в загрузке всех записей из таблицы в памяти в локальном кэше веб-сайта.Фоновый поток блокировал и обновлял данные в памяти для всех записей в одном кадре.Это позволило нам уменьшить трафик базы данных в тысячу раз, поскольку данные, представленные на экране, поступали из локального кэша, и для обновления кэша (для каждого веб-сервера) требовалось одно соединение с базой данных.Поскольку у нас было несколько веб-серверов, и нам требовалось, чтобы данные были одинаковыми на всех веб-серверах в течение одной секунды, мы синхронизировали запросы всех веб-серверов для обновления кэша каждую минуту.Создание этого заняло много часов, но это позволило нам создать систему с высокой степенью масштабируемости.
Приведенный выше метод может не сработать для ваших требований, но я считаю, что чем выше потребность в свежих данных, тембольше проектных / инженерных работ, которые вам понадобятся, чтобы убедиться, что ваша система не слишком подвержена влиянию свежести.
Надеюсь, это поможет.