Hlađenje u proxy pulu: pratite neuspjehe i provjerite oporavak
Dajte proxy pulu eksplicitna privremena stanja i put oporavka umjesto brisanja krajnje točke nakon jednog sporog zahtjeva.
Proxy propusti jedan rok. Pul ga izbriše. Sat vremena kasnije proxy je ponovno zdrav, ali vaša aplikacija to nema kako otkriti jer je odbacila zapis.
Uklanjanje može biti prikladno za opozvani račun ili krajnju točku koju je operater povukao. Prolazni neuspjeh zaslužuje drukčije stanje.
Zadržite dovoljno povijesti za sljedeću odluku
- Prihvatljiv
- Dostupan za uobičajeni rad prema važećoj politici.
- Hladi se
- Privremeno zadržan do zabilježenog roka.
- Provjera dopuštena
- Jedan kontrolirani pokušaj može procijeniti oporavak.
- Onemogućen
- Operater ili trajno stanje uklonili su ga iz usluge.
Pohranite razlog i fazu uz prijelaz. Odbijanje veze, odbijene vjerodajnice, sporo tijelo odgovora i HTTP pogreška odredišta ne smiju svi zajedno povećavati nediferencirani brojač "mrtvih proxyja".
Za hlađenje unutar procesa koristite sat proteklog vremena. Monotoni sat sprječava da kratko čekanje ovisi o prilagodbi zidnog sata. Ne pohranjujte monotoni vremenski žig kao prijenosni datum koji dijele druga računala; distribuirani planer treba zasebno definiran model vremena i vlasništva.
Oporavak ne smije pustiti stampedu
Kad rok istekne, dopustite mali pokušaj oporavka umjesto slanja cijelog reda čekanja odjednom. Uspješan pokušaj može vratiti prihvatljivost; još jedan neuspjeh može produljiti pauzu prema ograničenoj politici.
Odaberite provjeru za posao koji treba predvidjeti. Uspješna TCP veza nije potpuna HTTP ili SOCKS transakcija. Nepovezana stranica za provjeru IP-a ne dokazuje da je potrebno odredište dostupno ili dopušteno.
Iz riječi proxy ne slijedi univerzalno trajanje hlađenja. Postavite ga prema proračunu kašnjenja operacije, ponašanju usluge i posljedicama još jednog neuspjelog pokušaja. Sačuvajte zapis krajnje točke kako privremeni prekid ne bi tiho postao trajni gubitak kapaciteta.