Привет всем.
Есть веб-приложение(сайт) на node.js использую express
Суть проблемы в том что, что при очень быстрой отправке запросов от одного пользователя, на сервере эти запросы обрабатываются беспорядочно.
Здесь я максимально упростил код и смоделировал ситуацию
Допустим есть
код
const max_clicks = 30;
router.get('/something', async (req, res) => {
let clicks = await // запрос в бд, который вернёт текущее количество кликов
if(clicks < max_clicks ){
await clickPlus(); // запрос в бд, который прибавляет один клик
}
res.render... // для приличия вернём что-нибудь
});
И вот в этом случае, если отправить много очень быстрых запросов количество "кликов" выйдет далеко за 30.
В чём проблема мне ясно, но как посоветуете решить её лучшим образом?
Так как этот запрос выполняется для каждого юзера отдельно, нужно наверное сделать что-то типа очереди запросов для каждого юзера по определённому адресу
p.s проблема не конкретно с кликами, я для наглядности так описал