хранение зарегистрированных пользовательских данных из внешнего интерфейса - PullRequest
1 голос
/ 10 июля 2019

Я использую angularjs для внешнего интерфейса и laravel фреймворк для внутреннего интерфейса. моя база данных Mysql. Мне нужно хранить все логи пользователя. Поскольку я не хочу хранить логи пользователя внутри mysql, я выбрал MongoDB. теперь я не хочу использовать laravel для хранения логов пользователя. Вместо этого я хочу использовать nodejs.

Краткий обзор:

laravel - mysql: для хранения данных

nodejs - mongoDB: для хранения логов пользователя

Мой вопрос,

Я хочу отправлять логи пользователя с angularjs на nodejs и хранить их внутри mongoDB. Я думаю, что большинство систем хранит пользовательские журналы от серверной стороны (здесь laravel к mongodb или mysql), но я отправляю пользовательские журналы от внешнего интерфейса до nodejs для хранения журналов. Конечно, соединение между angularjs и nodejs имеет метод хеширования.

Каковы преимущества и недостатки этого метода?

1 Ответ

0 голосов
/ 10 июля 2019

Я создал инфраструктуру, которая регистрирует все виды действий пользователя от внешнего JS-приложения до вызова ajax. По соображениям производительности он основан на асинхронных четных и буферизующих действиях до тех пор, пока некоторое число не будет поставлено в очередь (обычно 10) или событие закрытия окна. Эти данные хранятся в серверной базе данных (у нас фиксированная схема SQL, поэтому мы нормализовали все журналы в определенном формате).

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

Это помогает классифицировать «действия», поэтому у нас есть некоторые навигационные действия для изменения фокуса, некоторые api-действия для других вызовов ajax, журналы ошибок для чего-то необычного, некоторые входные действия для редактирования данных формы и т. Д. Мы всегда регистрируем идентификатор сеанса, идентификатор пользователя, отметка времени и т. д. Лучшая часть - это то, что фреймворк делает все это, и разработчику приложения не нужно думать об этом, если они явно не хотят вызывать функцию регистрации.

Ваш пробег будет варьироваться в зависимости от ваших требований / условий, но он очень хорошо работает для нас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...