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

KinakailanganPanuntunan sa pagpili
Bawat pagpili ay independiyentePumili mula sa karapat-dapat na listahan bawat pagkakataon
Gamitin ang bawat endpoint nang isang beses bago magsimulang muliIhalo ang isang kopya, ubusin ito, pagkatapos ay magsimula ng isa pang pass
Iwasan ang agad na naunang endpointIbukod 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.

Kaugnay na mga artikulo