Proxy B, megint proxy B, majd proxy A. A naplója gyanúsnak tűnik, de egy véletlen választó pontosan ezt teheti.

Ha minden kérésnél ugyanabból a listából választ, az ismétléseket enged meg. Két egyformán valószínű végpont esetén a következő független választásnak egy a ketteshez esélye van arra, hogy egyezzen az előzővel. Az ismétléseket tartalmazó rövid sorozat nem bizonyítja, hogy a választó figyelmen kívül hagyta a listát.

Válassza azt a viselkedést, amelyre valóban szüksége van

KövetelményVálasztási szabály
Minden választás függetlenMinden alkalommal a jogosult listából válasszon
Minden végpontot egyszer használjon, mielőtt újrakezdiKeverjen meg egy másolatot, használja el, majd kezdjen új kört
Kerülje a közvetlenül előző végpontotZárja ki ezt a végpontot a választás előtt

Az utolsó szabály esetében kezelje kifejezetten az egyetlen végpont esetét:

candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
    raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)

Ez a részlet feltételezi, hogy a random importálva van, és a végpontok listája már ellenőrzött. Egy nyilvános készlet a ingyenes proxy listával kezdhet, amikor protokolljai megfelelnek a végső kliensnek; ez a választási szabály továbbra is szabályozza az ismétléseket. Az, hogy várjon-e, újrahasználja-e az egyetlen végpontot, vagy leálljon, az alkalmazás szabálya. A végtelen ciklus, amely egy másik véletlen értékre vár, nem tud megoldani egy listát, amely csak egyetlen különböző választást tartalmaz.

Egy párhuzamos diszpécserben az előző végpont kiválasztása és rögzítése is összehangolt tulajdonjogot igényel. Ellenkező esetben két munkás is kizárhatja a régi értéket, és ugyanazt a következő értéket választhatja.

Végül ez a szabály a végpont azonosságára vonatkozik. Két különböző végpont vezethet egyetlen nyilvános kijárathoz, és egy szolgáltatói végpont több kijárathoz is vezethet. Ezeket külön rögzítse, mielőtt eldönti, hogy a rotáció hibás.

Kapcsolódó cikkek