პროქსი B, კვლავ პროქსი B, შემდეგ პროქსი A. თქვენი ჟურნალი საეჭვოდ გამოიყურება, მაგრამ შემთხვევით ამრჩევს უფლება აქვს ზუსტად ასე მოიქცეს.

ყოველ მოთხოვნაზე ერთი და იმავე სიიდან არჩევა გამეორებას უშვებს. ორი თანაბრად სავარაუდო საბოლოო წერტილის შემთხვევაში, მომდევნო დამოუკიდებელ არჩევანს ორიდან ერთი შანსი აქვს წინას დაემთხვეს. გამეორებების მქონე მოკლე მიმდევრობა არ არის მტკიცებულება იმისა, რომ ამრჩევმა სია უგულებელყო.

აირჩიეთ ქცევა, რომელიც ნამდვილად გჭირდებათ

მოთხოვნაარჩევის წესი
ყოველი არჩევანი დამოუკიდებელიაყოველ ჯერზე აირჩიეთ შესაბამისი სიიდან
გამოიყენეთ ყოველი საბოლოო წერტილი ერთხელ, სანამ თავიდან დაიწყებთშეურიეთ ასლი, გამოიყენეთ ის, შემდეგ დაიწყეთ ახალი გავლა
აირიდეთ უშუალოდ წინა საბოლოო წერტილიარჩევამდე გამორიცხეთ ეს საბოლოო წერტილი

ბოლო პოლიტიკისთვის ცალსახად გაუმკლავდით ერთი საბოლოო წერტილის შემთხვევას:

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

ეს ფრაგმენტი ვარაუდობს, რომ random იმპორტირებულია და საბოლოო წერტილების სია უკვე შემოწმებულია. საჯარო აუზი შეიძლება დაიწყოს უფასო პროქსის სიიდან, როდესაც მისი პროტოკოლები შეესაბამება საბოლოო კლიენტს; ეს არჩევის წესი კვლავ აკონტროლებს გამეორებებს. დალოდება, ერთადერთი საბოლოო წერტილის ხელახლა გამოყენება თუ შეჩერება აპლიკაციის პოლიტიკაა. უსასრულო ციკლი, რომელიც სხვა შემთხვევით მნიშვნელობას ელოდება, ვერ გადაჭრის სიას, რომელიც მხოლოდ ერთ განსხვავებულ არჩევანს შეიცავს.

პარალელურ დისპეტჩერში წინა საბოლოო წერტილის არჩევა და ჩაწერა ასევე მოითხოვს კოორდინირებულ მფლობელობას. წინააღმდეგ შემთხვევაში ორი მუშაკი ორივე გამორიცხავს ძველ მნიშვნელობას და აირჩევს იმავე შემდეგ მნიშვნელობას.

დაბოლოს, ეს წესი საბოლოო წერტილის იდენტობას ეხება. ორი განსხვავებული საბოლოო წერტილი შეიძლება მიგვიყვანოს ერთ საჯარო გასასვლელამდე, ხოლო ერთი მომწოდებლის საბოლოო წერტილი შეიძლება რამდენიმე გასასვლელამდე მიგვიყვანოს. ჩაწერეთ ისინი ცალ-ცალკე, სანამ გადაწყვეტთ, რომ როტაცია გაფუჭებულია.

დაკავშირებული სტატიები