Пользовательский алгоритм балансировки нагрузки с mod_cluster

Недавно я обнаружил, что mod_cluster предлагает больше возможностей, чем mod_proxy или аналогичные модули. Следовательно, есть динамическое развертывание и новые метрики, доступные для балансировки нагрузки. У меня есть вопрос, есть ли возможность написать собственный алгоритм балансировки нагрузки вместо использования предопределенных. Если да, то где это реализовать?


person Tomek    schedule 01.04.2015    source источник


Ответы (1)


Да, это возможно. Вам необходимы следующие шаги:

  1. Создайте пользовательскую метрику нагрузки, расширив AbstractLoadMetric
  2. Упакуйте пользовательскую метрику нагрузки в виде JAR-файла.
  3. Скопируйте JAR в модуль modcluster
  4. Обновите module.xml, включив JAR пользовательской метрики нагрузки.
  5. Обновите автономную конфигурацию или XML конфигурации домена, чтобы использовать пользовательскую метрику нагрузки.

Пример примера см. здесь: https://github.com/Karm/mod_cluster-custom-load-metric

ПРИМЕЧАНИЕ. В WildFly 9 этот механизм будет улучшен, чтобы избежать редактирования module.xml. См. https://issues.jboss.org/browse/WFLY-372.

person Aparna Chaudhary    schedule 01.04.2015
comment
Спасибо за ваш ответ, это очень полезно. Как я понимаю, я должен повторить эти шаги на каждом узле кластера, задав его свойства емкости, истории и веса, чтобы настроить распределение нагрузки? - person Tomek; 01.04.2015
comment
Да, если вы используете автономный режим. Если вы используете режим домена, шаг 5 необходимо выполнить только один раз, чтобы обновить файл domain.xml для соответствующих профилей. - person Aparna Chaudhary; 01.04.2015