Haproxy балансировка – повторите попытку с другим serverом,
Мы запускаем несколько serverных serverов с протоколом fastcgi, и мы балансируем между ними с помощью HAproxy. Вот пример конфигурации:
listen Balancer 192.168.0.1:2000 mode tcp option tcplog timeout connect 2000 timeout server 2000 timeout queue 2000 timeout client 2000 balance leastconn server backend1 192.168.0.2:2000 check inter 2000 rise 2 fall 5 server backend2 192.168.0.3:2000 check inter 2000 rise 2 fall 5 server backend3 192.168.0.4:2000 check inter 2000 rise 2 fall 5 server backend4 192.168.0.5:2000 check inter 2000 rise 2 fall 5 server backend5 192.168.0.6:2000 check inter 2000 rise 2 fall 5 server backend6 192.168.0.7:2000 check inter 2000 rise 2 fall 5
Общий тайм-аут устанавливается на 2 секунды, но большинство requestов обрабатываются менее чем за 0,3 секунды. Проблема в том, что во time пиков иногда некоторые бэкэнд не могут отвечать на request менее 2 секунд, а затем возвращается тайм-аут шлюза.
То, что я хотел бы сделать, это то, что когда один server выбран (например, backend1), и он не может доставить ответ за 1 секунду, HAproxy выберет другой server и повторит попытку. Если сбой произойдет через 1 секунду, произойдет тайм-аут.
- Ошибка обслуживания haproxy
- Борьба с списками ACL Haproxy 1.5 с использованием регулярных выражений и параметров URL
- Ошибка тайм-аута HAProxy Layer 4
- HAProxy направляет соединения на правильный server
- прозрачный режим haproxy tcp в том же поле, что и сервис
Таким образом, вместо того, чтобы ждать одного serverа в течение 2 секунд, можно ли сначала подождать 1 секунду, если он не сработает, попробуйте другой, а затем провалитесь?
- Масштабировать HAProxy для более чем 64k веб-websiteов
- mod_rewrite для wp-admin после перехода в подпапку
- Использование SHA256 с certificateами SSL в HAProxy
- Haproxy "nbproc 2" высокий processор
- Репликация данных через балансированные узлы apache
- HAproxy замораживание / сбой / прекращение приема сообщений
- HAProxy + IIS 10 + HTTP / 2 = Я бы хотел, чтобы он работал
- Ошибка HAProxy pgsql-check
Если я правильно option redispatch
ваш вопрос, используя timeout server
установки до 1 секунды (1000 мс), а использование option redispatch
даст вам желаемый эффект.
опция redispatch
less опции redispatch
Вkeyить или отkeyить перераспределение sessionа в случае сбоя соединения. В режиме HTTP, если server, указанный cookie, отkeyен, клиенты могут определенно придерживаться этого, потому что они не могут очистить file cookie, поэтому они больше не смогут get доступ к службе.Указание «redispatch» опции позволит proxy-serverу нарушить их постоянство и перераспределить их на рабочий server.
Он также позволяет повторно подkeyить последнее connection к другому serverу в случае множественных сбоев подkeyения. Конечно, для этого требуется, чтобы «повторы» были установлены на ненулевое значение.
Эта форма является предпочтительной формой, которая заменяет keyевые слова «redispatch» и «redisp».
Если этот параметр вkeyен в разделе «по умолчанию», его можно отkeyить в конкретном экземпляре, добавив перед ним keyевое слово «less».