从响应时间分离审计和日志记录 - 设计
问题描述:
我有一个简单的基于Web的应用程序场景,发送请求并从Database.Response获取响应的行数非常大,一次记录大约10,000到20,000条记录。从响应时间分离审计和日志记录 - 设计
我为审计记录设计了所有的transaction.i.e。插入到所有这些响应的数据库中。一次有10,000到20,000行。
由于插入到表中仅用于审计目的。我可以通过某种方式将审计和日志记录与正常响应分开吗?一些方法来区分它们?
任何设计上的帮助将是非常可观的。
在此先感谢。
答
结账log4j2用于分开审计和日志记录。
这很容易通过在log4j2.xml中有两个appender来完成。
仅供参考,请访问:
答
在一般情况下,它是一个Web应用程序做太多工作在同步Web请求一个坏主意。 Web服务器(和Web应用程序服务器)旨在为大量并发请求提供服务,但假设每个请求只需要几毫秒即可执行。不同的服务器有不同的线程策略,但只要有长时间运行的请求,由于线程管理,您可能会遇到开销,然后您可以很快发现您的Web服务器正在放慢速度,直至出现故障。
在单个Web请求中读取或写入数千行数十行几乎肯定是一个糟糕的主意。您可能希望将您的应用程序设计为使用异步工作队列。有几种解决方案;在Java生态系统中,您可以检出vert.x
在这些异步模型中,审计非常简单 - 您的审计程序与“写入数据库”侦听器订阅相同的消息队列。