我有多个线程,每个线程都接受请求,进行一些处理,将结果存储在提交日志中,然后返回结果。为了保证最多丢失 x 秒的数据,这个提交日志需要每 x 秒 fsync 一次。
我想避免线程之间的同步,这意味着它们每个都需要有自己的提交日志而不是共享日志 - 是否可以以高性能的方式定期同步所有这些不同的提交日志?
这是在 Linux、ext4(或 ext3)上
(注意:由于代码的性质,即使在正常处理期间,线程也需要从提交日志中重新读取一些自己最近的数据(但从不其他线程提交日志数据),所以我认为这样做是不切实际的使用共享日志,因为许多线程需要读/写它)