用于持久消息的kaha db消息存储

Lwi*_* Ko 1 java activemq-classic message-queue persistent-data kahadb

我知道db-xx.log是日志文件而db.redo是参考文件?

db-xx.log存储尚未使用的消息.消费后,这些消息将从db-xx.log中删除.db.redo按消息ID存储消息的引用(存储在db-xx.log中).

  1. 但是,db.data和db.free是什么?
  2. 它们的功能是什么?

我的理解是代理首先将消息存储在缓存(易失性存储器)中,然后在检查点或缓存大小已满时将这些消息移动(附加)到db-xx.log.

  1. 那是对的吗?

谢谢

Hir*_*ino 5

db.data包含引用未消耗消息的btree页面.db.redo是将要对db.data执行的更新的重做日志.db.free跟踪db.data中的空闲页面.