Запрос застрял в одном узле за HTTP-сервером Apache

377
Derek

Я использую сервер Apache HTTP в качестве балансировщика нагрузки, за которым сидят 3 узла приложения. Вот пример конфигурации,

 <Proxy "balancer://apicluster"> BalancerMember http://node1.com/api BalancerMember http://node2.com/api BalancerMember http://node3.com/api </Proxy>  ProxyPass /api balancer://apicluster ProxyPassReverse /api balancer://apicluster 

Если один узел выходит из строя и запрос не может его достичь, Apache может направить запрос на работающий узел, чтобы не прерывать работу службы.

Сегодня произошла хитрая проблема, состоящая в том, что один узел находится в неисправном состоянии, но вместо того, чтобы быть полностью недоступным, любой запрос, направленный на узел, просто застрянет там до истечения времени ожидания. Проблема связана с некоторой проблемой инфраструктуры, и сам узел узла не доступен. В этом случае запросы все еще направляются Apache на этот проблемный узел и, в конечном итоге, перестают работать для пользователя. Что я могу сделать в Apache, чтобы избежать этого?

1

0 ответов на вопрос