воскресенье, 15 июля 2018 г.

F5 BIG-IP / Методы балансировки

Более двух месяцев ничего не писал. Конечно же, на то есть причины. Новостей, к сожалению или к счастью, тоже особых нет, похвастаться пока тоже нечем... Стагнирую и жду отмашки на RHCSA. Очень надеюсь, что в скором времени предприму попытку. 

Поддерживать знания и концентрировать только на RHCSA темах довольно сложно и неоправдано. Я уже довольно сильно шагнул в сторону RHCE, но это совсем другая история. Для начала, я планирую разобраться с F5, поэтому я начал готовиться к первым двум экзаменам. Если кратко, то все неоднозначно и кажется легким, но это обманчиво.

В качестве первого поста, решил опубликовать заметку-шпаргалку на тему методов балансировки. А их у F5 хватает. )


Round Robin 

Самый простой метод. Каждый следующий реквест идет к следующей ноде по списку. Никакие иные параметры не учитываются.


Ratio (m/n)

Иногда называется Weighted Round Robin. Метод основанный на пропорционально балансировке. Ratio может быть выставлено как на member'ах, так и на конечных нодах. С помощью этого метода можно, например, распределить трафик в отношении 3/2 между двумя нодами. Однако текущее состояние активных сессий учитываться не будет. Будет происходить статическая балансировка.


Least Connections (m/n)

Балансер передает запрос на ноду/member'а с наименьшим количеством активных connect'ов  на момент принятия решения о балансировке и стремится сбалансировать число коннектов. В случае если количество подключений одинаково, выбирается member с наименьшим IP.


Observed (m/n)

Метод похож на Least Connection, но имеет более "умный" алгоритм. Каждую секунду система мониторит количество подключений к ноде/member'у и динамически назначает им значение ratio. В момент решения о балансировке система руководствуется именно этими значениями ratio, а не просто выбирает сервер с наименьшим количеством подключений.


Predictive (m/n)

Этот вариант похож на Observed, но он учитывает тренды, а не количество подключений. Делается это при помощи вычисления дельты между двумя моментами времени. Если нода, скажем, имеет дельту 5 (сессий прибавилось на 5 с момента прошлого замера), то она является приоритетной по отношения к ноде с дельтой 10. Действует несколько агрессивней, чем Observed.


Least Sessions

Очень похож на Least Connections, но работает с persistence сессиями. Выбирается сервер, который имеет наименьшее количество persistence сессий. Не работает с cookie профайлами и "скидывается" до Round Robin. 


Ratio Session (Ratio + Least Sessions)

Гибрид между Ratio и Least Sessions. Данный метод учитывает сконфигурированные веса и количество persistence сессий. Позволяет распределить persistence сессии в разных весах по разным серверам. Требует установки L4 и L7 профайла (TCP+HTTP, например).


Ratio Least Connections (m/n) (Ratio + Least Connections)

А это уже гибрид между Ratio и Least Connections. Данный метод учитывает сконфигурированные веса и количество активных сессий. Позволяет распределять запросы по серверам учитывая текущую информацию по сессиям.


Fastest (Node)

В чем-то похож на Least Connections. Система определяет самую быструю ноду по количеству неотвеченных L7 запросов. Та нода, которая на момент принятия решения о балансировке имеет самое маленькое число неотвеченных запросов является самой быстрой. Требует установки L4 и L7 профайла, в противном случае работает как Least Connections. Плюс этого метода в том, что учитывается время ответа на предыдущий запрос.


Fastest Application

Должен называться Fastest (Member). Аналогичен Fastest (node), но учитывает количество неотвеченных запросов на уровне pool member'a.


Dynamic Ratio (m/n)

Метод основанный на пропорциональной балансировке с использованием весов, но эти веса назначаются на member'ов/ноды динамически основываясь на большом числе показателей, которые балансер получает с конечного хоста по SNMP, WMI. При расчете используется количество мемберов в пуле, утилизация памяти, утилизация CPU и диска.


Weighted Least connections (m/n)

Требует установки connection limit на каждой ноде или member'e. Далее, работает алгоритм Least Connection, но учитывается установленный лимит. Например, нода с 5 активными подключениями и лимитом в 10, является менее приоритетной, чем нода с 10  коннектами и лимитом 100.

Комментариев нет:

Отправить комментарий