Сообщения и статусы передают realtime-событиями, а клиент обновляет локальное состояние без перезагрузки. Для разных событий нужны разные гарантии доставки.
Как в чате реализовывались обновления без перезагрузки страницы: сообщения, статус администратора, индикатор набора текста и отметка о прочтении?
Сообщения и статусы передают realtime-событиями, а клиент обновляет локальное состояние без перезагрузки. Для разных событий нужны разные гарантии доставки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Сообщения и статусы передают realtime-событиями, а клиент обновляет локальное состояние без перезагрузки. Для разных событий нужны разные гарантии доставки.
Сообщения и отметки прочтения сохраняют на сервере с ID и дедупликацией. Набор текста можно передавать как временное событие с TTL и ограничением частоты. После reconnect клиент синхронизирует пропущенные сообщения; online-статус учитывает heartbeat и несколько устройств.