Согласованность данных в Webapp с Websocket - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть приложение JSF с несколькими одновременными пользователями.Когда пользователь А отправляет изменение в таблицу данных (которая сохраняется в базе данных), я хочу, чтобы выбранные пользователи сразу увидели это изменение.В настоящее время я внедряю веб-сокеты, чтобы браузер пользователя А отправлял сообщение асинхронно в браузеры этих других выбранных пользователей, чтобы они могли обновляться.Javascript, который получает сообщение, вносит изменения в DOM и выполняет частичную отправку для обеспечения синхронизации на стороне сервера.

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

Есть ли способ обойти это?

...