Refredament al pool de proxys: seguiu les fallades i proveu la recuperació
Doneu al pool de proxys estats temporals explícits i un camí de recuperació en lloc d'eliminar un extrem després d'una sola petició lenta.
Un proxy perd un termini. El pool l'elimina. Una hora més tard, el proxy torna a estar sa, però la vostra aplicació no té manera de descobrir-ho perquè ha llençat el registre.
Eliminar pot ser adequat per a un compte revocat o un extrem que l'operador ha retirat. Una fallada transitòria mereix un estat diferent.
Conserveu prou historial per prendre la decisió següent
- Elegible
- Disponible per a la feina ordinària segons la política actual.
- En refredament
- Retingut temporalment fins a un termini registrat.
- Sonda permesa
- Un intent controlat pot avaluar la recuperació.
- Desactivat
- Un operador o una condició duradora l'ha tret del servei.
Emmagatzemeu el motiu i l'etapa amb la transició. Una denegació de connexió, unes credencials rebutjades, un cos de resposta lent i un error HTTP de destinació no haurien d'incrementar tots un comptador indiferenciat de "proxy mort".
Feu servir un rellotge de temps transcorregut per a un refredament dins del procés. Un rellotge monòton evita que una espera curta depengui d'un ajust del rellotge de paret. No deseu una marca de temps monòtona com si fos una data portable compartida per altres màquines; un planificador distribuït necessita un model de temps i propietat definit a part.
La recuperació no ha d'alliberar una estampida
Quan el termini venci, permeteu un intent de recuperació petit en lloc d'enviar tota la cua d'espera de cop. Un intent reeixit pot restaurar l'elegibilitat; una altra fallada pot allargar la pausa segons una política limitada.
Trieu la sonda per a la feina que ha de predir. Una connexió TCP reeixida no és una transacció HTTP o SOCKS completa. Una pàgina de comprovació d'IP no relacionada no estableix que la destinació requerida sigui abastable o permesa.
Cap durada universal de refredament no es dedueix de la paraula proxy. Fixeu-la a partir del pressupost de latència de l'operació, el comportament del servei i les conseqüències d'un altre intent fallit. Preserveu el registre de l'extrem perquè una interrupció temporal no esdevingui silenciosament una pèrdua permanent de capacitat.