Squid retry_on_error: statuscodes en alternatieve routes
Gebruik Squid retry_on_error binnen het gedocumenteerde bereik voor status en alternatieve bestemmingen, in plaats van het te behandelen als een universele instelling voor het herhalen van verzoeken.
Er is een Squid-optie met de naam retry_on_error, maar de naam is breder dan de nuttige interpretatie ervan. Het betekent niet dat elk mislukt verzoek eindeloos wordt herhaald tot de pagina werkt.
In releases die deze richtlijn ondersteunen, staat deze standaard uit. De gedocumenteerde herhalingslijst is 403, 500, 501, 502, 503 en 504, en het verzoek wordt via een andere werkende bestemming geprobeerd. Dit is vooral relevant in een hiërarchie met alternatieve doorstuurpaden. Het is niet slechts een getimede herhaling van dezelfde socket naar dezelfde server.
Benoem eerst de fout
Een weigering bij het verbinden met een proxy, een mislukte proxy-authenticatie, een HTTP-fout van de oorsprong en een antwoord dat na het begin van de levering is afgebroken, bieden niet dezelfde herhalingskans. Verwacht niet dat één instelling alle vier hetzelfde behandelt.
Voor een privé-uitgang moet u ook beslissen of een alternatief pad aanvaardbaar is. Een andere parent kan een ander openbaar bronadres, authenticatiebeleid of netwerklocatie hebben. Succes via dat alternatief kan de reden schenden waarom de eerste parent is gekozen.
Applicatiebewerkingen brengen een andere zorg: het herhalen van een verzoek kan het effect ervan herhalen. De client en server hebben passende herhalingssemantiek nodig, vooral voor bewerkingen die gegevens aanmaken of wijzigen. Een proxy-instelling vervangt niet de afhandeling op applicatieniveau van onzekere uitkomsten.
Lees de richtlijn voor uw exacte release; de referentie vermeldt beschikbaarheid en standaardgedrag. Houd ook verzoekdeadlines en de totale zichtbare wachttijd voor de gebruiker in het oog. Een extra doorstuurpoging kan de resterende tijd verbruiken zonder een beter resultaat op te leveren.
Noteer bij het onderzoeken van intermittente fouten de status, de gekozen parent of bestemming en de volgorde van pogingen. Anders kunnen herhalingen een terugkerend routeringsprobleem laten lijken op een algemeen langzame website, terwijl ze het pad verbergen dat feitelijk is mislukt.