Apache Helix Resource Balancer (случай: каждый ресурс на независимом узле)
Мы используем Apache Helix для управления нашими кластерами. Мы бы хотели, чтобы helix назначил активный ресурс, т.е. Leader of LeaderStandby, экземпляру, который в настоящее время не содержит активных ресурсов.
Например, если есть 3 (a, b, c) экземпляра / узла: 2 экземпляра (a и b) имеют ресурс, каждый из которых имеет состояние "Лидер", где в качестве третьего (c) ему не назначен ресурс. Если новый ресурс добавлен в кластер, 'c' должен быть назначен новый ресурс.
В этом примере я предполагаю, что каждый ресурс имеет только 1 реплику, но независимо от того, если возможно, балансировщик будет гарантировать, что каждый экземпляр будет иметь ресурс max(1) в активном состоянии (например, Leader, Online и т. Д.)
Есть ли способ реализовать это? Очевидно, нам не хотелось бы указывать, какому именно узлу назначается ресурс.
Спасибо
1 ответ
Вы можете объединить свои ресурсы в несколько "разделов" на одном ресурсе. Каждый раздел будет иметь лидера, и по умолчанию режим FULL_AUTO автоматически обеспечивает равномерное распределение лидеров для каждого раздела среди узлов.