У меня пока нет большого кода, потому что я сначала хотел спросить вас о вашем мнении.Возможно, вы уже столкнулись с этой проблемой и нашли правильное решение.Поэтому я просто немного поискал в Интернете и нашел несколько предложений.Мой интерфейс написан на Angular 7, а Backend - на Spring.
Моя проблема выглядит следующим образом:
У меня есть карта, отображающая зарядные станции для электромобилей,Зарядные станции могут быть доступны в данный момент, тогда они будут показаны зеленым маркером на карте.В противном случае они недоступны и будут отображаться в виде красного маркера на карте.
Чего я хочу достичь
Представьте, что карта, показанная выше, является картой, отображаемой для пользователя A.Зарядная станция в левом нижнем углу в настоящее время доступна и отображается зеленым цветом.Когда пользователь-B резервирует зарядную станцию, я хочу обновить карту пользователя-A, чтобы зарядная станция на карте пользователя-A сменила в настоящее время доступно / зеленый на в настоящее время недоступно / красный .
Как выглядит мой код В настоящее время зарядные станции выбираются один раз из бэкэнда при первом доступе к карте.Это делается в файле зарядки-station.service.js посредством вызова REST нашего API-интерфейса с использованием углового httpClient.
То, что я уже пробовал
Я уже немного погуглил и наткнулся на два подхода.Первый (который мне не нравится) - активный опрос.Вы отправляете запрос каждый интервал времени серверу, выбирающему те же зарядные станции с потенциально новым статусом доступности.Что мне не нравится в этом подходе, так это то, что я добавляю много ненужной рабочей нагрузки на бэкэнд.
Второй подход, если он был найден, это использование веб-сокетов.Я никогда не работал с ними раньше.Поэтому я хотел спросить вас, что вы, как потенциально более опытные разработчики, подумали бы мне.Либо подход 1, 2, либо что-то совершенно другое.