从前端存储记录的用户数据

时间:2019-07-10 03:55:47

标签: javascript node.js angularjs laravel mongodb

我在前端使用angularjs,在后端使用laravel框架。我的数据库是Mysql。 我需要存储所有用户的日志。由于我不想将用户的日志存储在mysql中,因此选择了MongoDB。 现在我不想使用laravel来存储用户的日志,相反,我想使用nodejs

一目了然

laravel-mysql:存储数据

nodejs-mongoDB:存储用户日志

我的问题

我想将用户日志从angularjs发送到nodejs并将它们存储在mongoDB中。 我认为大多数系统都是从服务器端(这里是laravel到mongodb或mysql)存储用户日志,但是我将前端的用户日志发送到nodejs来存储日志。当然,angularjsnodejs之间的连接具有哈希方法。

此方法的优缺点是什么?

1 个答案:

答案 0 :(得分:0)

我建立了一个框架,用于记录从前端JS应用到ajax调用的各种用户操作。出于性能方面的考虑,它基于异步偶数并缓冲操作,直到某个数字排队(通常为10)或关闭窗口事件为止。这些数据存储在后端数据库中(我们是固定的SQL模式,因此我们已将所有日志规范化为特定格式)。

我们发现这是一个非常好的调试和审计工具。它确实消耗了适度的带宽,并且我们只有数百个同时用户,但是我认为,采用良好的服务器设计,它可以很好地扩展(我们在两个数据中心中使用两组服务器)。

它确实有助于对“动作”进行分类,因此我们有一些用于更改焦点的导航动作,一些用于其他ajax调用的api动作,一些异常记录的错误日志,一些用于表单数据编辑的输入动作等。我们始终记录一个会话ID,用户ID,时间戳等。最好的部分是框架完成所有操作,应用程序编写者无需考虑它,除非他们明确地想要调用日志记录函数。

您的行驶里程会根据您的要求/环境而有所不同,但这对我们来说很好。