Я использую node.js в качестве внутреннего сервера для получения данных из базы данных MySQL.Бэкэнд node.js используется в веб-приложениях и приложениях для мобильных устройств.
Я пытаюсь найти способ узнать моих активных пользователей.Является ли лучшим решением просто обновить это поле всякий раз, когда пользователь выполняет действие?Таким образом, я мог бы написать промежуточное программное обеспечение, которое было бы добавлено в node.js при значительных действиях (написание нового сообщения, комментирование чьего-либо сообщения, подписка на кого-то, ...), а в функции промежуточного программного обеспечения я затем обновлял бы временную метку для пользователя на основетокен, отправленный в заголовке.
Похоже, самый прямой подход ко мне.Однако это может привести к большому количеству дополнительных запросов в день, когда база пользователей увеличивается (например, если средний пользователь выполняет всего 10 значительных действий в день - что, вероятно, будет больше), и у нас будет 10 000 активных пользователей в день, это приведет кв 100 000 запросов за этот день).Это то, что я должен принять, или есть лучшее решение?
Кроме того, в некоторой степени, я хотел бы добавить функциональность «последний онлайн», которая будет отличаться от «последнего активного»: последний онлайн указываетнахождение в сети, в то время как последний активный указывает, что было выполнено значительное действие.Должен ли я использовать сокет для этой онлайн-функции?Я хотел бы показать «последний раз в сети: 12 минут назад» в разделе чата приложения.