O balanceador de carga do Apache não fez failover para hot spares

1

Descobrimos que o nosso balanceador de carga Apache não fez failover para as hot spares quando o aplicativo do servidor principal estava respondendo com um erro 500.

Foi assim que tivemos a configuração do proxy

   <Proxy balancer://hotspare>

        BalancerMember ajp://node1:8463 loadfactor=100 retry=30
        BalancerMember ajp://node2:8463 status=+H retry=0
        BalancerMember ajp://node3:8463 status=+H retry=0

        ProxySet lbmethod=bytraffic
   </Proxy>

Ele só falhou quando o node1 foi encerrado. Alguém pode explicar esse comportamento?

    
por Alastair 17.09.2014 / 09:37

1 resposta

2

Se você deseja que o failover ocorra caso o servidor de back-end retorne um código de erro HTTP (por exemplo, 500), você precisa trabalhar com a opção " failonstatus ".

Referência pode ser encontrada aqui: link

failonstatus - A single or comma-separated list of HTTP status codes. If set this will force the worker into error state when the backend returns any status code in the list. Worker recovery behaves the same as other worker errors. Available with Apache HTTP Server 2.2.17 and later.

Caso contrário, haverá apenas um failover se o backend não responder de maneira alguma (como você já mencionou).

    
por 17.09.2014 / 10:59