Juhuslikud valikud, segatud läbimised ja korduvad puhverserveri lõpp-punktid
Valige sõltumatute juhuslike valikute, segatud läbimise ja kohese korduseta poliitika vahel, selle asemel et pidada korduvat lõpp-punkti katkiseks rotaatoriks.
Puhverserver B, jälle puhverserver B, seejärel puhverserver A. Teie logi tundub kahtlane, kuid juhuslik valija tohib täpselt seda teha.
Iga päringu puhul samast nimekirjast valimine lubab kordusi. Kahe võrdselt tõenäolise lõpp-punkti korral on järgmisel sõltumatul valikul üks kahest võimalus langeda kokku eelmisega. Lühike kordustega jada ei ole tõestus, et valija jättis nimekirja tähelepanuta.
Valige käitumine, mida te tegelikult vajate
| Nõue | Valikureegel |
|---|---|
| Iga valik on sõltumatu | Valige igal korral sobivast nimekirjast |
| Kasutage iga lõpp-punkti üks kord enne uuesti alustamist | Segage koopia, tarbige see ja alustage siis uut läbimist |
| Vältige vahetult eelmist lõpp-punkti | Välistage see lõpp-punkt enne valimist |
Viimase poliitika puhul käsitlege ühe lõpp-punkti juhtu selgesõnaliselt:
candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)
See katkend eeldab, et random on imporditud ja lõpp-punktide nimekiri on juba valideeritud. Avalik kogum võib alustada tasuta puhverserverite nimekirjaga, kui selle protokollid sobivad lõppkliendiga; see valikureegel juhib endiselt kordusi. Kas oodata, ainsat lõpp-punkti uuesti kasutada või lõpetada, on rakenduse poliitika. Lõputu tsükkel, mis ootab teistsugust juhuslikku väärtust, ei suuda lahendada nimekirja, mis sisaldab ainult üht erinevat valikut.
Samaaegses saatjas nõuab eelmise lõpp-punkti valimine ja registreerimine ka koordineeritud omandiõigust. Vastasel juhul võivad kaks töötajat mõlemad vana väärtuse välistada ja valida sama järgmise väärtuse.
Lõpuks puudutab see reegel lõpp-punkti identiteeti. Kaks erinevat lõpp-punkti võivad viia ühe avaliku väljapääsuni ja üks teenusepakkuja lõpp-punkt võib viia mitme väljapääsuni. Registreerige need eraldi enne, kui otsustate, et rotatsioon on katki.