【问题标题】:Does Apache Helix support partition split and merge?Apache Helix 是否支持分区拆分和合并?
【发布时间】:2016-12-05 19:21:08
【问题描述】:

我了解 Apache Helix 允许动态集群扩展/收缩(例如,添加/失败/删除物理节点)。但是,在单个物理节点无法处理单个分区副本的情况下,我需要将一个分区一分为二。我知道我们需要预先估计工作量,以便我们可以预先设置足够数量的分区。然而,随着流量不可预测地上升,几乎不可能进行这样的预测。谁能告诉我 Helix 是否支持开箱即用的重新分区?如果我需要自定义它以添加重新分区功能,工作量有多大,原则上如何做。我想快速估算一下。谢谢

【问题讨论】:

    标签: java scalability distributed-computing fault-tolerance helix


    【解决方案1】:

    Helix 不支持开箱即用的分区拆分/合并。如果不了解底层系统,我们无法想出一个通用的方法来支持这一点。

    话虽如此,使用 Helix 提供的原语构建自定义解决方案是可能的。如果您可以提供有关您的系统的其他信息,我可能会提出一些建议。

    【讨论】:

      【解决方案2】:

      我建议从大量(逻辑)分区开始,并为每个节点分配多个分区。当服务需要更多资源时,添加节点并将一些分区从现有节点移动到新节点。 例如,假设您从 50 个节点开始,您会将工作负载的空间划分为 50000 个逻辑分区,并为每个节点分配 1000 个分区。然后当增加到 75 个节点时,重新分配。所以每个节点将有 667 个分区。 根据实际情况,您可能希望最小化重新分配的分区,例如使用一致的哈希算法。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-08-12
        • 2019-10-29
        • 1970-01-01
        • 1970-01-01
        • 2012-09-11
        • 2017-07-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多