Náhodné voľby, premiešané prechody a opakované koncové body proxy
Vyberte si medzi nezávislými náhodnými voľbami, premiešaným prechodom a politikou bez okamžitého opakovania, namiesto toho, aby ste opakovaný koncový bod považovali za pokazený rotátor.
Proxy B, znova proxy B, potom proxy A. Váš záznam vyzerá podozrivo, ale náhodný vyberač smie robiť presne to.
Výber z toho istého zoznamu pri každej požiadavke umožňuje opakovania. Pri dvoch rovnako pravdepodobných koncových bodoch má ďalší nezávislý výber šancu jedna k dvom zhodovať sa s predchádzajúcim. Krátka séria s opakovaniami nie je dôkazom, že vyberač zoznam ignoroval.
Vyberte správanie, ktoré skutočne potrebujete
| Požiadavka | Pravidlo výberu |
|---|---|
| Každá voľba je nezávislá | Zakaždým vyberajte z vhodného zoznamu |
| Každý koncový bod použite raz, kým začnete znova | Zamiešajte kópiu, spotrebujte ju a potom začnite ďalší prechod |
| Vyhnite sa bezprostredne predchádzajúcemu koncovému bodu | Pred výberom tento koncový bod vylúčte |
Pri poslednej politike výslovne ošetrite prípad jediného koncového bodu:
candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)
Tento úryvok predpokladá, že random je importovaný a zoznam koncových bodov je už overený. Verejný fond môže začať s bezplatným zoznamom proxy, keď jeho protokoly zodpovedajú konečnému klientovi; toto pravidlo výberu stále riadi opakovania. Či čakať, znova použiť jediný koncový bod alebo skončiť, je politika aplikácie. Nekonečná slučka čakajúca na inú náhodnú hodnotu nedokáže vyriešiť zoznam obsahujúci len jednu odlišnú voľbu.
V súbežnom dispečeri výber a zaznamenanie predchádzajúceho koncového bodu tiež vyžadujú koordinované vlastníctvo. Inak môžu dvaja pracovníci obaja vylúčiť starú hodnotu a vybrať tú istú ďalšiu hodnotu.
Napokon, toto pravidlo sa týka identity koncového bodu. Dva rôzne koncové body môžu viesť k jednému verejnému výstupu a jeden koncový bod poskytovateľa môže viesť k niekoľkým výstupom. Zaznamenajte ich oddelene, kým rozhodnete, že rotácia je pokazená.