任何人都使用LevelDB商店进行ActiveMQ消息持久化?

sri*_*ini 6 activemq-classic leveldb

目前我们在ActiveMQ中使用KahaDB存储来实现消息持久性,并且到目前为止还不错.
根据ActiveMQ5.6的发行说明,LevelDB可提供增强的性能.
有没有人尝试过使用LevelDB,如果可以,你能提供优缺点吗?

Hir*_*ino 6

仅供参考:这是ActiveMQ LevelDB商店官方文档的链接

缺点:

  • 这是一个全新的商店,所以可能还有一些漏洞.
  • LevelDB索引需要偶尔"压缩"MIGHT阻止新写入.
  • 您不仅可以删除索引并从数据文件中重建它,就像使用KahaDB一样
  • KahaDB更优雅地处理磁盘损坏,恢复它的功能并丢弃损坏的记录.

优点:

  • 主要附加磁盘访问模式可改善旋转磁盘上的perf.
  • 与KahaDB相比,磁盘同步更少
  • 每个存储的消息需要插入较少的索引条目
  • 将消息从磁盘加载到内存中所需的索引查找次数减少
  • 使用Snappy压缩来减少索引条目的磁盘大小
  • 可选的Snappy压缩数据日志.
  • 发送到复合目标只会将消息存储在磁盘上一次.
  • 更快,更频繁的数据文件GC.
  • 具有"复制"变体,可以自我复制到"从属"代理以确保消息级别HA.


小智 5

我们已经在NFS上使用了两个月的levelDB存储库(配置了标准文件锁故障转移).在过去的几周里,我们已经有过几次腐败的商店,日志中没有错误...只是排队堆积,吞吐量非常低.我们唯一能解决这个问题的办法就是扔掉商店,然后重新开始.

所以我们现在又重新回到旧的可靠的KahaDB商店.


ing*_*lor 3

请参阅此链接:https://github.com/fusesource/fuse-extra/tree/master/fusemq-leveldb#how-to-use-with-activemq-56 leveldb 与 kahadb 有一个小的比较。

我目前正在具有高消息吞吐量的系统上进行尝试,并且我已经看到了更好的结果。我还需要看看它是否稳定,但到目前为止还不错。