我有一个简单的基于Web的应用程序场景,从Database.Response发送请求和get响应将具有非常大量的行,例如一次大约10,000到20,000条记录。
我设计了审计日志的所有transaction.i.e.Inserting到数据库中的所有这样的responses.say,一次10,000到20,000行。
因为,插入到表中只是为了审计purpose.Can,我有一些方法可以将审计和日志记录与正常响应分开?有什么方法可以区分它们吗?
任何关于设计的帮助都将是非常值得感谢的。
提前谢谢。
发布于 2017-09-27 22:55:30
查看log4j2以实现审核和日志记录的分离。
只需在log4j2.xml本身中添加两个附加器,即可轻松完成此操作。
有关参考,请访问:
发布于 2017-09-27 23:07:39
一般来说,web应用程序在同步web请求中做太多工作不是一个好主意。Web服务器(和web应用程序服务器)被设计为为大量并发请求提供服务,但前提是每个请求的执行时间只有几毫秒。不同的服务器有不同的线程策略,但是一旦你有长时间运行的请求,你可能会遇到线程管理的开销,然后你会很快发现你的web服务器变慢到看起来像是坏掉的地步。
在单个web请求中读取或写入数千行几乎肯定不是一个好主意。您可能希望将应用程序设计为使用异步工作队列。有几种解决方案可以解决这个问题;在Java生态系统中,您可以查看vert.x
在这些异步模型中,审计很简单--您的审计员订阅与"write to database“侦听器相同的消息队列。
https://stackoverflow.com/questions/10052277
复制相似问题