Chaguo za nasibu, mizunguko iliyochanganywa na vituo vya mwisho vya proksi vinavyorudiwa
Chagua kati ya chaguo huru za nasibu, mzunguko uliochanganywa na sera isiyorudia mara moja, badala ya kuona kituo cha mwisho kinachorudiwa kama kizunguzaji kilichovunjika.
Proksi B, proksi B tena, kisha proksi A. Kumbukumbu yako inaonekana kuwa ya kutiliwa shaka, lakini kichaguzi cha nasibu kinaruhusiwa kufanya hivyo hasa.
Kuchagua kutoka orodha moja katika kila ombi huruhusu marudio. Kukiwa na vituo viwili vya mwisho vyenye uwezekano sawa, uchaguzi unaofuata huru una nafasi moja kati ya mbili ya kupatana na ule uliopita. Mfululizo mfupi wenye marudio si ushahidi kwamba kichaguzi kilipuuza orodha.
Chagua tabia unayohitaji kweli
| Mahitaji | Kanuni ya uchaguzi |
|---|---|
| Kila chaguo ni huru | Chagua kutoka orodha inayofaa kila wakati |
| Tumia kila kituo cha mwisho mara moja kabla ya kuanza upya | Changanya nakala, itumie, kisha anza mzunguko mwingine |
| Epuka kituo cha mwisho kilichotangulia moja kwa moja | Ondoa kituo hicho kabla ya kuchagua |
Kwa sera ya mwisho, shughulikia kwa uwazi kesi ya kituo kimoja cha mwisho:
candidates = [endpoint for endpoint in eligible if endpoint != previous]
if not candidates:
raise RuntimeError("No different eligible proxy is available")
selected = random.choice(candidates)
Kipande hiki kinadhani kwamba random imeagizwa na orodha ya vituo vya mwisho imethibitishwa tayari. Bwawa la umma linaweza kuanza na orodha ya proksi ya bure wakati itifaki zake zinafaa mteja wa mwisho; kanuni hii ya uchaguzi bado inadhibiti marudio. Ikiwa kusubiri, kutumia tena kituo pekee cha mwisho au kuacha ni sera ya programu. Mzunguko usio na mwisho unaosubiri thamani nyingine ya nasibu hauwezi kutatua orodha iliyo na chaguo moja tofauti tu.
Katika msambazaji wa wakati mmoja, kuchagua na kurekodi kituo cha mwisho kilichopita pia kunahitaji umiliki ulioratibiwa. Vinginevyo wafanyakazi wawili wanaweza wote kuondoa thamani ya zamani na kuchagua thamani sawa inayofuata.
Mwisho, kanuni hii inahusu utambulisho wa kituo cha mwisho. Vituo viwili tofauti vya mwisho vinaweza kuelekea toka moja la umma, na kituo kimoja cha mtoa huduma kinaweza kuelekea matoka kadhaa. Rekodi hizo kwa tofauti kabla ya kuamua kuwa mzunguko umevunjika.