当前位置:   article > 正文

java 多线程 异步日志_精彩技巧(1)-- 异步打印日志的一点事

java 多线程日志模型

一、前言

最近刚刚结束转岗以来的第一次双11压测,收获颇多,难言言表, 本文就先谈谈异步日志吧,在高并发高流量响应延迟要求比较小的系统中同步打日志已经满足不了需求了,同步打日志会阻塞调用打日志的线程,而打日志本身是需要写磁盘的,所以会造成rt增加。异步日志就是为了解决这个问题。

二、日志打印模型

同步日志模型

b5199b0b0183a622c6c9c7197c63ac89.png

如上图,多个业务线程打印日志时候要等把内容写入磁盘后才会返回,所以打日志的rt就是写入磁盘的耗时。

异步日志模型

8cdb56730b7b8ac88c0f465dd7caa682.png

如上图多个业务线程打印日志时候是把打印任务放入内存队列后就直接返回了,而具体打印日志是有日志系统的一个日志线程去队列里面获取然后执行,可见这种打印rt就是写入内存队列的耗时。

三、关于异步日志的一些事

异步日志设置

f62b683d777c296ddda84480b54d5935.png

对于logback来说异步日志里面的队列是

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/954212
推荐阅读
相关标签
  

闽ICP备14008679号