Sto utilizzando mod_proxy_balancer per gestire il failover dei server di backend. I server di backend possono restituire un codice di errore anziché scadere quando alcuni altri servizi di backend falliscono come NFS e vogliamo che tali server vengano contrassegnati come nodi non riusciti. Quindi stiamo usando la direttiva failonstatus.httpd mod_proxy_balancer failover failonstatus - switching trasparente
<Proxy balancer://avatar>
ProxySet failonstatus=503
BalancerMember http://active/ retry=30
# the hot standby
BalancerMember http://standby/ status=+H retry=0
</Proxy>
Attualmente il failover funziona perfettamente con un problema tecnico. Quando il nodo attivo non riesce, l'utente riceve un errore 503 e dalla richiesta successiva subentra il server di standby.
Non voglio neanche una singola richiesta per fallire. Impossibile eseguire il failover mod_proxy senza che venga mai restituito un errore al client? Se il nodo attivo fallisce, voglio che mod_proxy provi lo standby per la stessa richiesta e non solo dalla richiesta successiva!
Ho parlato con un Dev sulla mailing list httpd e lui ha confermato che questa caratteristica non è stata implementata nella base di codice corrente . La macchina di stato all'interno di mod_proxy_balancer non può ripetere l'errore HTTP ma può farlo solo in caso di errore di connessione. Ho provato a implementarlo da solo ma è troppo complicato e posso facilmente rendere instabile la base di codice. Quindi ho rinunciato ... – Praveen