1

当在 Chronicle Queue 上使用 ExcerptAppender(仅附加日志)时,是否可以保证在断电的情况下仅截断文件末尾,即所有中间记录都不会损坏?如果是这样,这依赖于什么实现/文件系统/操作系统行为?

我对 linux/x64 感兴趣。由于这是通过 mmap - 我的理解是未定义从页面缓存中刷新页面的顺序,并且磁盘可以重新排序写入。是否应该只保证 SSD 或特定文件系统?

4

1 回答 1

1

队列依赖于操作系统将数据异步刷新到磁盘。默认情况下,操作系统通常会确保在 30 秒内将数据推送到磁盘,但是写入的页面可以按任何顺序排列,因此虽然最后 30 秒的 99% 可能已写入,但最后 30 秒的所有时间都可能不可读。这个时间边界不依赖于磁盘的选择,而是操作系统的配置。

磁盘的选择会改变可持续的吞吐量,以及在需要存档或删除之前可以写入多少数据。

如果您想要可靠的磁盘写入,我们建议您使用复制到第二台或第三台机器,以便在机器死机或整个数据中心不可用时,您可以继续操作。这使用Chronicle Queue Enterprise

于 2019-05-03T10:39:31.327 回答