Arrefriamento no pool de proxies: rastrexade fallos e comprobade a recuperación
Dade ao pool de proxies estados temporais explícitos e un camiño de recuperación en lugar de eliminar un extremo tras unha soa petición lenta.
Un proxy perde un prazo. O pool elimínao. Unha hora despois o proxy está san de novo, pero a túa aplicación non ten forma de descubrilo porque botou o rexistro.
Eliminar pode ser axeitado para unha conta revogada ou un extremo que o operador retirou. Un fallo transitorio merece un estado distinto.
Conserva suficiente historial para a seguinte decisión
- Elixible
- Dispoñible para traballo ordinario segundo a política actual.
- Arrefriando
- Retido temporalmente ata un prazo rexistrado.
- Sonda permitida
- Un intento controlado pode avaliar a recuperación.
- Desactivado
- Un operador ou unha condición duradeira retirouno do servizo.
Garda o motivo e a etapa xunto coa transición. Unha denegación de conexión, unhas credenciais rexeitadas, un corpo de resposta lento e un erro HTTP de destino non deberían todos incrementar un contador indiferenciado de «proxy morto».
Usa un reloxo de tempo transcorrido para un arrefriamento dentro do proceso. Un reloxo monótono evita que unha espera curta dependa dun axuste do reloxo de parede. Non persistas unha marca de tempo monótona como se fose unha data portátil compartida por outras máquinas; un planificador distribuído necesita un modelo de tempo e propiedade definido por separado.
A recuperación non debe liberar unha estampida
Cando o prazo expire, permite un intento de recuperación pequeno en lugar de enviar toda a cola de espera á vez. Un intento exitoso pode restaurar a elixibilidade; outro fallo pode prolongar a pausa segundo unha política limitada.
Escolle a sonda para o traballo que debe predecir. Unha conexión TCP exitosa non é unha transacción HTTP ou SOCKS completa. Unha páxina de comprobación de IP non relacionada non establece que o destino requirido sexa alcanzable ou estea permitido.
Ningunha duración universal de arrefriamento se deduce da palabra proxy. Fíxaa a partir do orzamento de latencia da operación, o comportamento do servizo e as consecuencias doutro intento fallido. Preserva o rexistro do extremo para que unha interrupción temporal non se converta en silencio nunha perda permanente de capacidade.