我正在尝试ActiveMQ 5.8.0
在我的项目中使用。有两种不同的存储配置,KahaDB
和LevelDB
. 根据问题,Kaha 可以比 Level 更快,或者 Level 可以比 Kaha 更快。
他们之间的真正区别是什么?
我正在尝试ActiveMQ 5.8.0
在我的项目中使用。有两种不同的存储配置,KahaDB
和LevelDB
. 根据问题,Kaha 可以比 Level 更快,或者 Level 可以比 Kaha 更快。
他们之间的真正区别是什么?
这两个商店的相似之处在于它们都使用索引来跟踪写入日志的消息的位置和状态。不同之处在于索引的实施方式等。LevelDB 是一个比 KahaDB 稍快的索引,并且可以提供更好的性能数据。在更高版本的 ActiveMQ 中,LevelDB 存储也支持复制。
鉴于您使用的是旧版本,其中 LevelDB 存储实现还很年轻,我建议坚持使用 KahaDB,因为它更加成熟并且已经解决了许多早期的错误。5.8 中的 LevelDB 存储并没有真正准备好生产,可能会给您带来一些麻烦。您可以迁移到最新版本 v5.10,LevelDB 将更加强大。
注意:LevelDB 已被社区弃用,不再支持。它可能会在 ActiveMQ 5.17.0 中完全删除
对于任何新项目,我都会远离 LevelDB for ActiveMQ。KahaDB、LevelDB 的情况发生了一些变化。
LevelDB 存储已被弃用,不再支持或推荐使用。推荐的商店是 KahaDB
您将在 LevelDB 文档中看到这一点:http: //activemq.apache.org/leveldb-store.html
所以 KahaDB、LevelDB 的情况发生了一些变化。我们考虑将 LevelDB 用于具有 3 个由 3 个 Zookeeper 实例监控的 ActiveMQ 实例的生产设置。该原型工作得非常好,除了在模拟 ActiveMQ 实例崩溃时,我们在该实例重新启动期间偶尔会遇到 LevelDB 损坏。
当需要持久消息传递时,您现在有以下选择: