Как работает взвешенный алгоритм 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).