ActiveMQ专题--持久化方案

持久化方案介绍

activemq的消息持久化机制有JDBC,AMQ,KahaDB和LevelDB无论使用哪种持久化方式,消息的存储逻辑都是一致的。

activemq持久化机制

queue类型的持久化机制

ActiveMQ专题--持久化方案

topic类型的持久化机制

ActiveMQ专题--持久化方案

JDBC方式

将消息存储到数据库中,例如:mysql,sql server,oracle,db2等

ActiveMQ专题--持久化方案

AMQ方式

基于文件的存储方式,它具有写入速度快和容易恢复的特点,但是由于其重建索引时间过长,而且索引文件占用磁盘空间过大,所以已经不推荐使用。

ActiveMQ专题--持久化方案

ActiveMQ专题--持久化方案

ActiveMQ专题--持久化方案

KahaDB方式

从ActiveMQ 5.4开始默认的持久化方式,KahaDB恢复时间远远小于其前身AMQ并且使用更少的数据文件,所以可以完全代替AMQ。

LevelDB 方式

LevelDB 是Google 开发的一套用于持久化数据的高性能类库。LevelDB 并不是一种服务,用户需要自行实现Server.是单进程,能够处理十亿级别规模Key-Value型数据,占用内存小。

LevelDB 特点

ActiveMQ专题--持久化方案

LevelDB 的结构

ActiveMQ专题--持久化方案