Назад | Перейти на главную страницу

Haproxy 1.8: слить или установить вес 0 - слой 4 и слой 7

Мы развернули несколько Haproxys в режиме TCP haproxy для передней части БД и haproxy уровня 7 для передней части приложения в рабочей среде. Я ищу лучший вариант, чтобы вывести один серверный узел из трафика и выполнить обновление / выпуск / обслуживание приложений. либо я использую Set server state Drain, либо устанавливаю вес 0, который будет эффективным и полезным для медленного перенаправления всех клиентских подключений на другие серверные части для приложения без разрыва и перенаправления всех TCP-соединений? также дайте мне знать, что означает постоянное соединение?

Используйте Drain.

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

Это, конечно, предполагает, что у вас есть липкие сеансы, настроенные в haproxy, так что пользователь всегда будет направлен на один и тот же бэкэнд. Если это не так, тогда не имеет значения, используете ли вы вес 0 или сток.

Постоянные соединения - это соединения, которые остаются открытыми. Если вы хотите их использовать, убедитесь, что таймауты haproxy достаточно велики, чтобы обслуживать эти соединения; в противном случае haproxy может закрыть соединение, которое все еще используется (но простаивает).