我们使用 Apache Helix 进行集群管理。我们希望 helix 将 Activity 资源(即 LeaderStandby 的 Leader)分配给当前未持有任何 Activity 资源的实例。
例如如果有 3 (a, b, c) 个实例/节点: 2 个实例(a 和 b)都有一个资源,每个实例的状态为“Leader”,而第三个实例(c)没有分配给它的资源。如果向集群添加新资源,则应为“c”分配新资源。
在这个例子中,我假设每个资源只有 1 个副本,但无论如何,如果可能的话,平衡器将确保每个实例都有 max(1) 个处于 Activity 状态的资源(例如 Leader、Online 等)
有没有办法实现这个?我们显然不想指定将资源分配给哪个确切节点。
谢谢
最佳答案
您可以将您的资源整合到单个资源的多个“分区”中。每个分区都有一个领导者,默认情况下,FULL_AUTO 模式将自动确保每个分区的领导者在节点之间平均分配。
关于java - Apache Helix 资源平衡器(案例 : each resource on independent node),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29237363/