Как создать систему регистрации для системы, которая обслуживает пользователей? - PullRequest
0 голосов
/ 09 ноября 2019

У меня есть система (в NODE.JS), которая обслуживает пользователей (около 10000 пользователей), и я хочу записывать в базу данных каждый шаг, который они делают.

Например:

1. Когда пользователь входит в систему / выходит из системы - пишите в БД

2. Когда пользователь изменяет свой профиль - также

3. Пользователь совершил какую-то транзакцию ... и т. д.

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

Каков наилучший подход для записи в БД каждый шаг без особых задержек?

1 Ответ

0 голосов
/ 09 ноября 2019

Много возможностей здесь. Хотя, прежде чем я займусь ими, я не уверен, что вам нужно слишком сильно беспокоиться о дополнительных затратах на несколько обращений к базе данных за запрос. Node очень эффективен при обработке запросов, поскольку все происходит асинхронно. Кроме того, базы данных обычно предназначены для обработки этого вида трафика.

При этом, если вы попробовали простой способ вызова базы данных, когда вы хотите войти, у вас есть несколько вариантов:

  1. записывает записи журнала в файл, а затем обрабатывает их в пакетном режиме позднее, когда трафик уменьшается.
  2. используйте отдельную базу данных для ведения журнала, которая не повлияет на основную базу данных
  3. Используйте систему управления журналами, например splunk вместо базы данных.
  4. Используйте хранимые процедуры или триггеры базы данных, чтобы гарантировать, что все вызовы базы данных регистрируются без выполнения отдельного вызова базы данных для выполненияэто.
...