এলোমেলো বাছাই, মিশিয়ে নেওয়া পাস ও পুনরাবৃত্ত প্রক্সি এন্ডপয়েন্ট
পুনরাবৃত্ত এন্ডপয়েন্টকে নষ্ট রোটেটর ভেবে না নিয়ে স্বতন্ত্র এলোমেলো বাছাই, মিশিয়ে নেওয়া পাস এবং সঙ্গে সঙ্গে পুনরাবৃত্তি এড়ানোর নীতি থেকে বেছে নিন।
প্রক্সি 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 আমদানি করা হয়েছে এবং এন্ডপয়েন্টের তালিকা ইতিমধ্যেই যাচাই করা হয়েছে। একটি সর্বজনীন পুল বিনামূল্যের প্রক্সি তালিকা দিয়ে শুরু করতে পারে যখন এর প্রোটোকলগুলি চূড়ান্ত ক্লায়েন্টের সঙ্গে মেলে; এই বাছাইয়ের নিয়ম এখনও পুনরাবৃত্তি নিয়ন্ত্রণ করে। অপেক্ষা করা, একমাত্র এন্ডপয়েন্ট পুনরায় ব্যবহার করা বা থামানো একটি অ্যাপ্লিকেশন নীতি। ভিন্ন এলোমেলো মানের জন্য অপেক্ষারত অন্তহীন লুপ কেবল একটি আলাদা বাছাই থাকা তালিকা সমাধান করতে পারে না।
সমবর্তী ডিসপ্যাচারে, আগের এন্ডপয়েন্ট বাছাই ও রেকর্ড করার জন্যও সমন্বিত মালিকানা দরকার। নাহলে দুই কর্মীই পুরোনো মানটি বাদ দিয়ে একই পরবর্তী মান বেছে নিতে পারে।
শেষে, এই নিয়মটি এন্ডপয়েন্টের পরিচয় সম্পর্কে। দুটি ভিন্ন এন্ডপয়েন্ট একটি সর্বজনীন এক্সিটে পৌঁছাতে পারে, আর একটি প্রদানকারী এন্ডপয়েন্ট একাধিক এক্সিটে পৌঁছাতে পারে। ঘূর্ণন নষ্ট বলে সিদ্ধান্ত নেওয়ার আগে সেগুলি আলাদাভাবে রেকর্ড করুন।