06 августа 2019
Ранее я писал о Кластер доменного режима Wildfly и балансировка нагрузки из коробки. Но что, если мы хотим выполнить балансировку зависящей от конкретного поведения сервера?
Подсистема Wildfly mod_cluster
предоставляет нам несколько предопределенных типов показателей для определения наилучшей балансировки запросов:
Также вы можете настроить weight (влияние метрики на другие метрики) и свойства capacity ;
Ниже приведен пример того, как изменить значение по умолчанию на основе балансировки ЦП на балансировку на основе busyness + ЦП:
/subsystem=modcluster/mod-cluster-config=configuration/dynamic-load-provider=configuration/load-metric=cpu:remove()
/subsystem=modcluster/mod-cluster-config=configuration:add-metric(type=busyness,weight=2)
/subsystem=modcluster/mod-cluster-config=configuration:add-metric(type=cpu,weight=1)
Если этих предопределенных типов недостаточно, вы можете обеспечить custom-load-metric
, реализовав org.jboss.modcluster.load.metric.impl.AbstractLoadMetric
. Для возможности использования вашей пользовательской метрики,- вам необходимо скопировать упакованный JAR-файл в модуль modcluster
и обновитьmodule.xml
. Теперь вы можете использовать свою собственную метрику с вашей конфигурацией, как:
<custom-load-metric class="org.kostenko.examples.wldfly.modcluster.MyBalancingMetric">