【问题标题】:KahaDB and LevelDB - What's the real difference?KahaDB 和 LevelDB - 真正的区别是什么?
【发布时间】:2014-08-23 09:57:13
【问题描述】:

我正在尝试在我的项目中使用ActiveMQ 5.8.0。有两种不同的存储配置,KahaDBLevelDB。根据问题,Kaha 可以比 Level 更快,或者 Level 可以比 Kaha 更快。

它们之间的真正区别是什么?

【问题讨论】:

    标签: jms activemq difference leveldb


    【解决方案1】:

    这两个商店的相似之处在于它们都使用索引来跟踪写入日志的消息的位置和状态。不同之处在于索引的实施方式等。 LevelDB 是一个比 KahaDB 稍快的索引,并且可以提供更好的性能数据。在更高版本的 ActiveMQ 中,LevelDB 存储也支持复制。

    鉴于您使用的是旧版本,其中 LevelDB 存储实现还很年轻,我建议坚持使用 KahaDB,因为它更加成熟并且已经解决了许多早期错误。 5.8 中的 LevelDB 存储并没有真正准备好生产,可能会给您带来一些麻烦。您可以迁移到最新版本 v5.10,LevelDB 将更加强大。

    注意:LevelDB 已被社区弃用,不再受支持。它可能会在 ActiveMQ 5.17.0 中完全删除

    【讨论】:

    • 同时使用我决定使用 Kaha,因为它比 Level 更安全,因为它每次都将消息存储在磁盘上。 LevelDB 将消息运行到内存中,然后将其保存到磁盘,因此在生产中,如果系统关闭,我会丢失我的消息。对吗?
    • 不,两者都使用基于磁盘的日志来存储所有操作,不同之处在于索引的维护方式,但可以从日志中重新创建索引,因此持久消息不会丢失消息跨度>
    • 看到了,但我不明白为什么 LevelDB 在我的机器中写入/读取速度如此之慢。它是相同的代码和最后一个 ActiveMQ (v5.10) 但它仍然比 KahaDB 慢......有一些推荐的配置吗?非常感谢。
    【解决方案2】:

    对于任何新项目,我都会远离 LevelDB for ActiveMQ。 KahaDB、LevelDB 的情况发生了一些变化。

    LevelDB 存储已被弃用,不再受支持或建议使用。推荐的商店是 KahaDB

    您将在 LevelDB 文档中看到这一点: http://activemq.apache.org/leveldb-store.html

    因此,KahaDB、LevelDB 的情况发生了一些变化。我们考虑将 LevelDB 用于具有 3 个由 3 个 Zookeeper 实例监控的 ActiveMQ 实例的生产设置。原型工作得很好,除了在模拟 ActiveMQ 实例崩溃时,我们在该实例重启期间偶尔会遇到 LevelDB 损坏。

    当需要持久消息传递时,您现在有以下选择:

    • 使用 Apache ActiveMQ 和数据库作为持久消息存储 (jdbc)
    • 为 KahaDB 消息存储使用共享块级或文件级共享文件系统(NFS、CIFS 甚至 GlusterFS)并与 ActiveMQ 主/从配合使用
    • Apache ActiveMQ Artemis
    • 阿帕奇卡夫卡

    【讨论】:

    • 非常感谢我的朋友。
    • 正如我在评论中所说,该文档不清楚 LevelDB 是否已被弃用,因为另一个页面说它将是新的默认存储。正如您还提到的,切换到 Artemis 可能是生产就绪解决方案的更好选择。
    • 在我们的例子中,我们也有 ActiveMQ 崩溃,但使用 KahaDB 存储。那么看起来该选项将是另一种设置。我们正在考虑,如果我们不在 AMQ 实例之间共享 KahaDB,它可能会更好(代理网络,而不是主从)。
    • leveldb documentation 似乎表明不应再考虑将其用于生产用途。我们还在研究一种设置,它是一个使用多个 kahadb 实例进行存储的主从代理网络。这个想法是,如果主节点发生故障,从节点将接管任何包含主节点和从节点的节点。因此,我们不应该在已停止的实例中遭受停顿消息的困扰。应该总是有一个从机升级为主机并允许在代理网络中消费或转发消息
    猜你喜欢
    • 2020-02-16
    • 1970-01-01
    • 1970-01-01
    • 2017-12-16
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-10
    相关资源
    最近更新 更多