我知道 db-xx.log 是日志文件,而 db.redo 是参考文件?
db-xx.log 存储尚未使用的消息。这些消息在被消费后将从 db-xx.log 中删除。db.redo 按消息 ID 存储消息的引用(存储在 db-xx.log 中)。
- 但是,什么是 db.data 和 db.free?
- 它们的功能是什么?
我的理解是代理首先将消息存储在缓存(易失性内存)中,然后在检查点或缓存大小已满时将这些消息移动(附加)到 db-xx.log 中。
- 那是对的吗?
谢谢
我知道 db-xx.log 是日志文件,而 db.redo 是参考文件?
db-xx.log 存储尚未使用的消息。这些消息在被消费后将从 db-xx.log 中删除。db.redo 按消息 ID 存储消息的引用(存储在 db-xx.log 中)。
我的理解是代理首先将消息存储在缓存(易失性内存)中,然后在检查点或缓存大小已满时将这些消息移动(附加)到 db-xx.log 中。
谢谢
db.data 包含引用未使用消息的 btree 页面。db.redo 是即将对 db.data 执行的更新的重做日志。db.free 跟踪 db.data 中的空闲页面。
db.redo 是索引 (db.data) 的恢复文件。db.free 在 activemq 启动期间被读取并加载到内存中。一旦空闲列表加载到内存中,该文件就会被删除。卸载消息数据库后,空闲列表将写回 db.free。
删除消息后,队列/主题的行为会有所不同。