Squid retry_on_error: coduri de stare și rute alternative
Folosiți Squid retry_on_error în domeniul său documentat pentru stări și destinații alternative, în loc să îl tratați ca o setare universală de repetare a cererilor.
În Squid există o opțiune numită retry_on_error, dar numele este mai larg decât interpretarea sa utilă. Nu înseamnă că fiecare cerere eșuată va fi repetată la nesfârșit până când pagina funcționează.
În versiunile care acceptă această directivă, este dezactivată implicit. Lista de repetare documentată este 403, 500, 501, 502, 503 și 504, iar cererea este încercată printr-o altă destinație funcțională. Acest lucru este deosebit de relevant într-o ierarhie cu căi alternative de redirecționare. Nu este doar o reîncercare temporizată a aceluiași socket către același server.
Numiți mai întâi defecțiunea
Un refuz la conectarea la un proxy, o eroare de autentificare a proxy-ului, o eroare HTTP de la origine și un răspuns întrerupt după începerea livrării nu oferă aceeași oportunitate de repetare. Nu vă așteptați ca o singură setare să le trateze pe toate patru la fel.
Pentru o ieșire privată, decideți și dacă o cale alternativă este acceptabilă. Un alt părinte poate avea altă adresă publică de sursă, altă politică de autentificare sau altă locație de rețea. Succesul prin acea alternativă poate încălca motivul pentru care a fost ales primul părinte.
Operațiile aplicației aduc o altă preocupare: repetarea unei cereri poate repeta efectul acesteia. Clientul și serverul au nevoie de o semantică adecvată a repetării, mai ales pentru operațiile care creează sau modifică date. O setare de proxy nu înlocuiește gestionarea la nivel de aplicație a rezultatelor incerte.
Citiți directiva pentru versiunea exactă; referința enumeră disponibilitatea și comportamentul implicit. Aveți în vedere și termenele cererii și așteptarea totală vizibilă pentru utilizator. O încercare suplimentară de redirecționare poate consuma timpul rămas fără a produce un rezultat mai bun.
Când investigați defecțiuni intermitente, înregistrați starea, părintele sau destinația aleasă și secvența încercărilor. Altfel, repetările pot face o problemă recurentă de rutare să pară un site web în general lent, ascunzând calea care a eșuat de fapt.