activeMQ-13持久化机制(KahaDB【可汗db】)

首先说下kahaDB使用基础:

  • 基于日志文件的持久化机制,在activeMQ5.4版本之后默认使用此方式;
  • 配置方式为:conf/activemq.xml中的标签中
    kahadb配置.png
  • 默认将数据存储到了data/kahadb文件夹中;
  • kahadb存储原理说明:
    1)首先概念介绍:主要是消息存储使用一个事务日志和仅仅用一个索引文件来存储她所有的数据地址;
    2)相关文件说明:
    文件目录:
data
   》kahadb
          》db-1.log
            db-2.log
            db.data
            db.free
            db.redo
            lock

db-.log:kahadb存储消息到预定大小的log文件中,文件命名:db-1.log;当不再有引用到数据文件中的任何消息时,文件回被删除或者归档;
db.data:该文件包含了持久化的BTree索引,是消息的索引文件,本质是B_Tree(B树)指向db-.log文件中的存储的消息。
db.redo:用来进行恢复消息的,如果kahadb消息存储再强制退出后启动,用来恢复BTree索引文件;
lock:文件锁,标识当前获得kahadb读取权限的broker;
db.free:用来记录空白索引的;

此方式和Mysql存储方式极为相似:通过存储索引文件和数据文件来实现,通过索引指向对应数据。

你可能感兴趣的:(activeMQ-13持久化机制(KahaDB【可汗db】))