พร็อกซี 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 ถูกนำเข้าแล้วและรายการปลายทางได้รับการตรวจสอบแล้ว สระสาธารณะสามารถเริ่มด้วยรายการพร็อกซีฟรีเมื่อโปรโตคอลเข้ากับไคลเอนต์ปลายทาง กฎการเลือกนี้ยังคงควบคุมการซ้ำ การรอ การใช้ปลายทางเดียวซ้ำ หรือการหยุดเป็นนโยบายของแอปพลิเคชัน ลูปไม่สิ้นสุดที่รอค่าสุ่มอื่นไม่สามารถแก้รายการที่มีเพียงตัวเลือกเดียวที่แตกต่างได้

ในตัวจัดส่งแบบพร้อมกัน การเลือกและบันทึกปลายทางก่อนหน้ายังต้องมีการเป็นเจ้าของที่ประสานกัน มิฉะนั้นผู้ปฏิบัติงานสองคนอาจตัดค่าเก่าออกทั้งคู่และเลือกค่าเดียวกันถัดไป

สุดท้าย กฎนี้เกี่ยวกับอัตลักษณ์ของปลายทาง ปลายทางสองอันที่แตกต่างกันอาจนำไปสู่ทางออกสาธารณะเดียว และปลายทางของผู้ให้บริการหนึ่งรายอาจนำไปสู่ทางออกหลายทาง บันทึกแยกกันก่อนตัดสินว่าการหมุนเสีย

บทความที่เกี่ยวข้อง