如何为服务用户的系统创建日志记录系统?

问题描述 投票:0回答:1

我有一个系统(在NODE.JS中),可以为用户(大约10000个用户)提供服务器,并且我希望他们执行的每一步都写入数据库。

例如:

1。当用户登录/注销时-写入数据库

2。当用户更改了个人资料时-也

3。用户进行了某种交易...等

我不想将数据库操作添加到用户执行的每个操作中,因为这需要更多的处理时间,并且在更大的范围内可能会有延迟。

在没有太多延迟的情况下,每步写入数据库的最佳方法是什么?

node.js database design-patterns rabbitmq scalability
1个回答
0
投票

这里有很多可能性。尽管在接触它们之前,我不确定您是否需要担心每个请求几个数据库调用的额外开销。由于一切都是异步发生的,因此在处理请求时,Node非常高效。同样,数据库通常被设计为处理这种流量。

话虽如此,如果您尝试过在登录时简单调用数据库的简单方法,则有几种选择:

  1. 将日志条目写入文件,然后在流量较低时批处理它们。
  2. 使用单独的数据库进行日志记录,这不会影响您的主数据库
  3. 使用splunk之类的日志管理系统代替数据库。
  4. 使用存储过程或数据库触发器来确保记录了所有数据库调用,而没有对数据库进行单独调用。
© www.soinside.com 2019 - 2024. All rights reserved.