Mga random na pagpili, pinaghalong pass, at paulit-ulit na proxy endpoint
Pumili sa pagitan ng mga independiyenteng random na pagpili, pinaghalong pass, at patakarang walang agarang pag-ulit, sa halip na ituring ang paulit-ulit na endpoint na sira ang rotator.
Proxy B, proxy B muli, pagkatapos ay proxy A. Mukhang kahina-hinala ang log mo, ngunit pinapayagan ang random na pumipili na gawin iyon.
Ang pagpili mula sa parehong listahan sa bawat kahilingan ay nagpapahintulot ng pag-uulit. Sa dalawang endpoint na pantay ang posibilidad, ang susunod na independiyenteng pagpili ay may posibilidad na isa sa dalawa na tumugma sa nauna. Ang maikling pagkakasunod-sunod na may pag-uulit ay hindi patunay na binalewala ng pumipili ang listahan.
Piliin ang pag-uugaling kailangan mo talaga
| Kinakailangan | Panuntunan sa pagpili |
|---|---|
| Bawat pagpili ay independiyente | Pumili mula sa karapat-dapat na listahan bawat pagkakataon |
| Gamitin ang bawat endpoint nang isang beses bago magsimulang muli | Ihalo ang isang kopya, ubusin ito, pagkatapos ay magsimula ng isa pang pass |
| Iwasan ang agad na naunang endpoint | Ibukod ang endpoint na iyon bago pumili |
Para sa huling patakaran, tahasang hawakan ang kaso ng nag-iisang endpoint:
candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)
Ipinapalagay ng bahaging ito na na-import ang random at ang listahan ng endpoint ay napatunayan na. Ang pampublikong pool ay maaaring magsimula sa libreng listahan ng proxy kapag ang mga protocol nito ay umaangkop sa huling kliyente; kinokontrol pa rin ng panuntunang ito sa pagpili ang pag-uulit. Kung maghihintay, gagamitin muli ang nag-iisang endpoint, o titigil ay patakaran ng aplikasyon. Ang walang katapusang loop na naghihintay ng ibang random na halaga ay hindi malulutas ang listahang may isa lamang natatanging pagpili.
Sa isang sabay-sabay na dispatcher, ang pagpili at pagtatala ng naunang endpoint ay nangangailangan din ng koordinadong pagmamay-ari. Kung hindi, ang dalawang manggagawa ay parehong maaaring ibukod ang lumang halaga at piliin ang parehong susunod na halaga.
Sa wakas, ang panuntunang ito ay tungkol sa pagkakakilanlan ng endpoint. Ang dalawang magkaibang endpoint ay maaaring humantong sa isang pampublikong labasan, at ang isang endpoint ng provider ay maaaring humantong sa maraming labasan. Itala ang mga iyon nang hiwalay bago magpasya na sira ang rotasyon.