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 автоматически обеспечивает равномерное распределение лидеров для каждого раздела среди узлов.

Другие вопросы по тегам