1、你做的高性能日志系统里最有挑战的是什么答案:高性能日志系统里最有挑战的部分通常不是把日志写出去,而是在高并发场景下同时兼顾吞吐、时延和落盘可靠性。如果每条日志都直接加锁写文件,线程一多就会在锁和系统调用上卡住,所以一般会把日志写入分成前台生产和后台刷盘两段。前台线程只负责把日志快速写入缓冲区,后台线程批量落盘。这样可以把大量小写合并成少量顺序写,减少系统调用和磁盘抖动。真正难的地方在于几个细节。第一是缓冲区切换时机,切得太频繁会增加刷盘压力,切得太慢又会拖高日志可见延迟。第二是满载场景下的回压策略,如果生产速度远大于消费速度,日志队列迟早会堆爆,这时要决定阻塞业务线程、丢弃低优先级日志,还...