Режим реального времени — это модное слово, которое мы время от времени слышим, когда данные обновляются сразу же после обновления данных. Эта статья поможет запустить ваше приложение для синхронизации данных в реальном времени. Прежде чем углубиться в детали, давайте рассмотрим несколько примеров, где он широко используется.

  • Приложение Stock — обновление цен в соответствии с текущими рыночными тенденциями.
  • Раздел новостей — Обновление текущих событий дня.
  • Приложение чата — обновление взаимных конверсий в чате.
  • Живая панель инструментов, питаемая потоковым API Твиттера.
  • Монитор статистики сервера, такой как время безотказной работы, работоспособность и запущенные процессы.

Все приведенные выше примеры требуют обмена данными между устройствами, как только произойдет событие. Эта синхронизация данных с сервера на клиент может быть выполнена двумя способами:

1. Извлечение клиентом: это процесс извлечения обновленных данных с сервера с помощью методов HTTP через равные промежутки времени. Кроме того, его можно разделить на короткий опрос и длительный опрос. Короткий опрос — это таймер на основе AJAX, который вызывается с фиксированной задержкой, тогда как длинный опрос основан на комете (т. е. сервер будет отправлять данные клиенту, когда событие сервера происходит без задержки).

С помощью этого метода вы можете получать последние данные, которые почти в режиме реального времени из-за времени задержки между запросами. С помощью этого метода интерфейс не знает, когда данные обновляются, поэтому данные обновляются при следующем запросе до тех пор, пока не будут отображаться старые данные. Кроме того, этот метод сопряжен с увеличением нагрузки на сервер и пропускной способностью клиента, поскольку его часто вызывают для синхронизации с оперативными данными. Следовательно, мы можем сказать, что этот метод не эффективен в качестве push-уведомления сервера, когда данные обновляются всякий раз, когда в них происходят изменения.

2. Пуш-сервер: также называется моделью публикации/подписки, когда сервер публикует событие, а клиенты подписываются на события, чтобы получать обновления через соединения через веб-сокеты. Это долгоживущие соединения, которые создаются между клиентом и сервером и действуют как среда для обмена данными всякий раз, когда на сервере инициируется изменение.

В следующей статье вы можете найти подробную реализацию концепции server push с помощью socket.io.

Использованная литература: