Welcome! Log In Create A New Profile

Advanced

load balancer backend failed condition

March 28, 2013 04:57AM
Добрый день.

Имеется nginx версии 1.2.7. Использую его в качестве HTTP-балансировщика с модулем upstream (HttpUpstreamModule).

Кусок конфига:

upstream lb_units {
server app01:51001 max_fails=3 fail_timeout=30s;
server app01:51002 max_fails=3 fail_timeout=30s;
server app02:51001 max_fails=3 fail_timeout=30s;
server app02:51002 max_fails=3 fail_timeout=30s;
}

server {
listen 51000;
server_name localhost;

location / {
proxy_pass http://lb_units;
}
}

На основе чего server помечается, как недоступный и на него перестают направляться запросы?
В документации сказано "If an error occurs when communicating with the server, a request will be passed to the next server". Достаточным условием работоспособности является факт установки TCP-соединения на server:port?

Собственно мой вопрос - можно ли прикрутить какую-то прикладную логику к проверке доступности backend-серверов? Я хотел бы отправлять вполне конкретный POST-запрос и уже на основе разбора полученного ответа принимать решение надо ли помечать backend-сервер, как failed - подскажите пожалуйста, такое возможно? Если да - где можно почитать описание и примеры?
Subject Author Posted

load balancer backend failed condition

tolikkk March 28, 2013 04:57AM

Re: load balancer backend failed condition

Ruslan Ermilov March 28, 2013 05:24AM

Re: load balancer backend failed condition

tolikkk March 28, 2013 05:53AM

Re: load balancer backend failed condition

Anatoly Mikhailov April 09, 2013 12:10PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 170
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready