1

Я использую сервер 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, чтобы избежать этого?

0