Răcire în pool-ul de proxy: urmăriți eșecurile și verificați recuperarea
Dați pool-ului de proxy stări temporare explicite și o cale de recuperare în loc să ștergeți un endpoint după o singură cerere lentă.
Un proxy ratează un termen. Pool-ul îl șterge. O oră mai târziu proxy-ul este din nou sănătos, dar aplicația dumneavoastră nu are cum să afle asta pentru că a aruncat înregistrarea.
Eliminarea poate fi potrivită pentru un cont revocat sau un endpoint retras de operator. O defecțiune trecătoare merită o altă stare.
Păstrați suficient istoric pentru următoarea decizie
- Eligibil
- Disponibil pentru munca obișnuită conform politicii actuale.
- Se răcește
- Reținut temporar până la un termen înregistrat.
- Sondă permisă
- O încercare controlată poate evalua recuperarea.
- Dezactivat
- Un operator sau o condiție durabilă l-a scos din serviciu.
Stocați motivul și etapa împreună cu tranziția. Un refuz de conexiune, credențiale respinse, un corp de răspuns lent și o eroare HTTP la destinație nu ar trebui să crească toate un contor nediferențiat de „proxy mort”.
Folosiți un ceas de timp scurs pentru o răcire în cadrul procesului. Un ceas monoton împiedică o așteptare scurtă să depindă de o ajustare a ceasului de perete. Nu persistați un marcaj temporal monoton ca și cum ar fi o dată portabilă partajată de alte mașini; un planificator distribuit are nevoie de un model de timp și proprietate definit separat.
Recuperarea nu trebuie să dezlănțuie o goană
Când termenul expiră, permiteți o mică încercare de recuperare în loc să trimiteți întreaga coadă de așteptare deodată. O încercare reușită poate restabili eligibilitatea; o altă defecțiune poate prelungi pauza conform unei politici limitate.
Alegeți sonda pentru munca pe care trebuie să o prezică. O conexiune TCP reușită nu este o tranzacție HTTP sau SOCKS completă. O pagină de verificare IP fără legătură nu stabilește că destinația cerută este accesibilă sau permisă.
Nicio durată universală de răcire nu decurge din cuvântul proxy. Stabiliți-o din bugetul de latență al operației, comportamentul serviciului și consecințele unei alte încercări eșuate. Păstrați înregistrarea endpoint-ului ca o întrerupere temporară să nu devină în tăcere o pierdere permanentă de capacitate.