审计日志的存储相关问题

来源:3-9 API安全机制之审计日志

目科将

2020-11-01

AuditLogInterceptor 日志直接存储到数据库中,

  1. 会不会影响接口性能(因为有额外的审计日志入库开销)
  2. 如果审计日志入库出错了(比如在preHandle auditlog.save异常了),是不是就影响正常业务场景了;

想和老师确认下教程中的审计日志处理是否可以在生产环境直接使用(如果需要改进能否给出思路或参考),针对上面的两个疑惑麻烦老师解答下

写回答

1回答

NoCodeNoBug

2020-11-02

我的个人理解:

  1. 性能影响:性能影响肯定是有的,但并发量小的话,性能消耗其实也还好。我认为,这种存储日志的方式,仅限于并发量不高的场景。如果高并发场景下,log可能是写入log文件,不做数据库操作,或者是放到消息队列,定期将其持久化存储。

  2. 审计日志入库报错:首先,我认为这个业务报错的概率不会太高,因为业务比较简单。审计日志,并不一定是个强需求日志。就是说这个接口报错,不应该影响到业务的正常运行。实际使用中,可以将其try掉,报错时,在log打印日志,并将报错信息及时记录。

  3. 是否可以在生产环境使用:我认为,还是一样,低并发无所谓,性能损耗不是特别高。高并发下,就需要考虑用各种方式对其做优化了。

0
0

Spring Cloud微服务安全实战 可落地的安全方案

从API到复杂微服务场景,实战部署可落地的安全方案。

1029 学习 · 370 问题

查看课程