Передача данных из базы данных в пользовательский интерфейс в режиме реального времени

У меня есть база данных (MySQL), в которую записываются данные. Мне нужно выдвинуть новые записи и изменить записи в пользовательском интерфейсе. Здесь есть несколько ограничений: у меня нет контроля над кодом, который пишет в эту базу данных, и я не могу изменить его для записи в очередь.

До сих пор я периодически читаю БД на предмет изменений и новых дополнений (используя отметку времени последнего обновления) и помещаю эти данные в базу данных mongo (поскольку я не хочу попадать на главный сервер MySQL для каждого запроса). Затем я отправляю эти изменения во внешний интерфейс, используя cramp (ruby framework) и события, отправленные сервером. Для поддержки каждой пользовательской очереди, у меня есть redis в миксе.

Я понимаю, что это искусный способ сделать толчок в реальном времени. Мне было интересно, есть ли более аккуратное решение этого беспорядка.

1 ответ

Если вы хотите передавать данные в реальном времени с сервера, используйте технологии, обеспечивающие доступ в реальном времени. Я бы порекомендовал вам использовать Websockets.

Единственная проблема заключается в том, что веб-сокеты поддерживаются не всеми браузерами. Чтобы позаботиться об этом, вы можете использовать доступные платформы, построенные на веб-сокетах, которые обеспечивают откат к протоколам, поддерживаемым браузерами, такими как длинный опрос, потоковая передача и т. Д. предложил бы использовать:

Другие вопросы по тегам