2012-06-18 19 views
8

Arka uç sunucuları failover yönetmek için mod_proxy_balancer kullanıyorum. Arka uç sunucuları, NFS gibi başka bir arka uç hizmeti başarısız olduğunda zaman aşımı yerine bir hata kodu verebilir ve bu tür sunucuların başarısız düğümler olarak işaretlenmesini istiyoruz. Bu nedenle failonstatus direktifini kullanıyoruz.httpd mod_proxy_balancer failover failonstatus - şeffaf anahtarlama

<Proxy balancer://avatar> 
    ProxySet failonstatus=503 
    BalancerMember http://active/ retry=30 
    # the hot standby 
    BalancerMember http://standby/ status=+H retry=0 
</Proxy> 

Halihazırda yük devretme, bir aksaklıkla mükemmel şekilde çalışır. Etkin düğüm başarısız olduğunda, kullanıcı 503 hatası alır ve bir sonraki istekten Bekleme sunucusu devralınır.

Tek bir isteğin bile başarısız olmasını istemiyorum. Cant mod_proxy yük devretme, hiç bir zaman istemciye bir hata döndürüyor mu? Etkin düğüm başarısız olursa, mod_proxy'nin aynı talep için Bekleme'yi denemek istiyorum ve sadece sonraki talepte bulunmaz!

cevap

3

Bunu Apache HTTPd posta listesinde sordunuz, ama ne yazık ki tatmin edici bir cevap alamadınız. ServerFault'da neredeyse aynı soruyu sordum, böylece onları bir araya getiriyorum.

https://serverfault.com/questions/414024/apache-httpd-workers-retry

+2

ne soran işlevi gören yeni modül vardır . Mod_proxy_balancer içindeki durum makinesi HTTP hatası üzerinde yeniden deneme yapamaz, ancak yalnızca bağlantı hatası durumunda bunu yapabilir. Kendimi uygulamaya çalıştım ama çok karmaşık ve kod tabanını istikrarsız hale getirebilirim. Ben de vazgeçtim ... – Praveen