如何在没有锁的情况下将多个进程记录到一个日志文件中,以保持性能?

问题描述 投票:0回答:0

我在同一台服务器上运行多个 java 进程,它们构成了交易系统的各个部分。当存在行为问题时,我必须从每个进程的日志中拼凑出一些东西。对于我正在查看的日志语句类型,我希望将它们全部写入一个日志文件。一个完美的解决方案是 Logback 的“谨慎”模式,但文档指出“每秒生成 100 次或更多 I/O 操作的应用程序会对性能产生影响,应避免使用谨慎模式。”作为一个交易系统,事件的数量可以在每秒数千个。现代分布式延迟敏感系统如何解决这个问题?

这个问题的很多解决方案都依赖于锁,这造成了瓶颈。我发现像 Chronicle Logger 这样能够提高速度的库,以及像 Logback 这样能够为多进程应用程序提供中央日志文件的库,但不是两者。有没有办法结合这些好处?

java logging low-latency hft
© www.soinside.com 2019 - 2024. All rights reserved.