Как работает взвешенный алгоритм Haproxy roundrobin?

Я хотел бы понять распределение нагрузки в весовом методе haproxy. Например

server serverA site1.example.com weight 45 check 
server serverB site2.example.com weight 45 check 
server serverc site3.example.com weight 10 check 

Я понимаю, что приведенный выше пример разделяет 45-45-10 из 100 запросов. Мой вопрос заключается в том, что разделение будет работать только в том случае, если трафик имеет 100 или более одновременных запросов или если сервер получает 10 запросов, первые 4 запроса к серверу A и следующие 4 запроса к серверу B и, наконец, 2 запроса к серверу C.

Я искал в Google этот вопрос, но ничего не нашел.

Пожалуйста, порекомендуйте.

1 ответ

Решение

Алгоритм будет разделяться или вычисляться на основе каждого нового соединения, однако serverA всегда получит первое соединение... Это также зависит от одного из следующих двух вариантов: баланс наименьшего конуса баланс циклический и он также предполагает, что вы не используете какой-либо постоянство / липкость методы. Лучший способ понять это - протестировать его самостоятельно (хотя это может быть трудно проверить с помощью кратковременных соединений, таких как HTTP).

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