ক্যাশ করা শ্রেণিবিন্যাস একটি লুকআপ বাঁচায় এবং গতকালের মতামতকে আজকের সিদ্ধান্তে জমিয়ে রাখে। আসল তুলনাটা ক্যাশ বনাম ক্যাশ-না-থাকা নয়: আসল তুলনা হলো একটি পর্যবেক্ষণ, তার সতেজতা এবং আপনার সাইট যে প্রতিক্রিয়া বেছে নিয়েছে। এই তিনটির মধ্যে সীমারেখা হারালে একটি অপ্টিমাইজেশন নিজেই নীতি তৈরি করতে শুরু করে। সমাধান হলো হিসাবরক্ষণ, উন্নততর ফিড নয়।

তিনটি ভিন্ন ঘড়ির তিনটি রেকর্ড

পর্যবেক্ষণ হলো আপনি যে ফিল্ডটি পেয়েছেন, যে ফিড থেকে তা এসেছে এবং তার পেছনের ডেটাসেট সংস্করণ। সতেজতা ক্যাশ এন্ট্রির একটি বৈশিষ্ট্য: লুকআপ কখন চলেছিল, কখন এন্ট্রিকে আর বিশ্বাস করা হয় না, এবং শেষ রিফ্রেশ কিছু ফিরিয়েছে কি না। প্রতিক্রিয়া হলো এই অনুরোধ, এই অ্যাকাউন্ট বা এই কাজের জন্য আপনার সাইট সে বিষয়ে কী করে। এগুলো ভিন্ন মালিক তৈরি করে এবং ভিন্ন হারে ক্ষয় হয়, তাই blocked নামের একটি সারি এই পার্থক্যটাই ধ্বংস করে।

RecordWho owns itHow long it should liveDamage when it is folded into another row
The observationthe feed's operatoruntil a newer dataset version replaces ita stale lookup becomes indistinguishable from a fresh one
Its freshnessthe applicationone request's tolerance for agea failed refresh hides behind a cache hit
The responsewhoever owns the site policyuntil that policy is revieweda feed outage turns into an indefinite block

দুটি ঘড়ি বিশেষ যত্ন দাবি করে। আপনার লুকআপ চলার মুহূর্ত আর প্রদানকারী ডেটাসেট প্রকাশের মুহূর্ত এক নয়, এবং পরে সারিটি পড়া অপারেটরকে জানতে হয় প্রতিটি মান এই দুটির কোনটি থেকে এসেছে। মেয়াদ ও রিফ্রেশ নির্ধারণ করুন ফিডের নথিভুক্ত আপডেট মডেল এবং ভুল হওয়ার খরচ থেকে, অন্য সাইট থেকে ধার করা কোনো সংখ্যা থেকে কখনও নয়।

রায় নয়, ফিল্ডটি রাখুন

MaxMind-এর বেনামি আইপি ডকুমেন্টেশন হলো এমন একটি ফিডের এক সুনির্দিষ্ট উদাহরণ যা বেনামি VPN, হোস্টিং প্রদানকারী, পাবলিক প্রক্সি এবং Tor এক্সিটকে আলাদা আলাদা ফিল্ডে ভাগ করে। এটি এও নথিভুক্ত করে যে একটি অনিবন্ধিত VPN সাবনেট বরং হোস্টিং ফ্ল্যাগের নিচে দেখা দিতে পারে। এটি একটি বুলিয়ানে চ্যাপ্টা করলে অপারেটর পরে যাচাই করতে পারত এমন একমাত্র অংশটাই নষ্ট হয়।

অনুমানের কোন দিকই নিরাপদ নয়। হোস্টিং লেবেল প্রমাণ করে না যে টানেল ব্যবহার হয়েছে, এবং VPN ফ্ল্যাগের অনুপস্থিতি প্রমাণ করে না যে ক্লায়েন্ট ও আপনার সেবার মধ্যে কিছু ছিল না। এগুলো দুটি ভিন্ন দাবি, এবং একটি বুলিয়ান এর কোনোটাই প্রকাশ করতে পারে না।

আপনি যে ঠিকানা যাচাই করেছেন তার সঙ্গে এন্ট্রিটি বাঁধুন

রিভার্স প্রক্সির পেছনে অ্যাপ্লিকেশনকে অবশ্যই ডিপ্লয়মেন্ট অনুমোদিত ক্লায়েন্ট-ঠিকানা ব্যবস্থাপনা ব্যবহার করতে হবে। কলকারীর সরবরাহ করা ফরোয়ার্ডিং হেডার কখনও অন্যের ক্যাশ করা সুনাম বেছে নিতে পারবে না।

এই ব্যর্থতা একইসঙ্গে শুদ্ধতার বাগ এবং নিরাপত্তার বাগ, কারণ হেডার নিয়ন্ত্রণকারী আক্রমণকারী একটি বিশ্বস্ত এন্ট্রি উত্তরাধিকার করতে পারে বা ভুক্তভোগীকে খারাপ এন্ট্রিতে পিন করতে পারে। কী-টি আপনার নিজের অবকাঠামো যে সংযোগ শেষ করেছে তা থেকে উৎপন্ন করুন এবং কোন উৎপাদন ব্যবহার হয়েছে তা লিখে রাখুন। সামনে একাধিক প্রক্সি থাকলে চেইনটি নথিভুক্ত করুন, বিশ্বাসযোগ্য দেখায় এমন প্রথম হেডার বিশ্বাস করবেন না। চেইন অস্পষ্ট হলে উৎপন্ন কী এবং আপনি যে হেডার প্রত্যাখ্যান করেছেন তা লগ করুন, কারণ ঘটনা পর্যালোচনা দ্বিতীয়টিই জানতে চাইবে।

প্রমাণ না থাকা পরিষ্কার ফল নয়

টাইমআউট, বিকৃত প্রতিক্রিয়া এবং অনুপলব্ধ ডেটাবেস প্রত্যেকটির অর্থ এমন একটি সফল লুকআপ থেকে আলাদা যা কিছুর সঙ্গে মেলেনি। এগুলোকে আলাদা ফল হিসেবে উপস্থাপন করুন, এবং আগেই ঠিক করুন কোনো প্রমাণ না থাকলে সুরক্ষিত কাজটি কী করে। কেবল-পড়ার পাতা আর সাইন-ইন করা অ্যাকাউন্টের কাজ সেখানে ভিন্ন নিয়ম মানতে পারে।

স্বাভাবিক প্রমাণীকরণ রাখা, বা সমর্থিত যাচাই চাওয়া, সাধারণত বিঘ্নকে সার্বজনীন অনুমতি বা সাইটব্যাপী নিষেধ হিসেবে গণ্য করার চেয়ে ভালো উত্তর। লুকআপ কতক্ষণ চলতে পারে তা সীমিত করুন এবং ইন্টিগ্রেশন যে প্রক্রিয়া সমর্থন করে তা দিয়ে রিফ্রেশ ঝড় থামান। বিঘ্নের সময় পুরনো মান ব্যবহার হলে সিদ্ধান্তের বিন্দুতে সেটিকে পুরনো হিসেবে চিহ্নিত করুন, এবং রিফ্রেশের শেষ ব্যর্থতা দৃশ্যমান রাখুন যাতে দীর্ঘমেয়াদি ত্রুটি সুস্থ এন্ট্রি বলে চলে না যায়। সিদ্ধান্ত যাই হোক, তা নীতিটি যেখানে প্রয়োগ হয় সেখানে লিখুন, লুকআপের পাশে মন্তব্যে নয়।

সংরক্ষণ একই সিদ্ধান্তের অংশ: এই ফাংশনের প্রয়োজনীয় ফিল্ডগুলো এবং তাদের পেছনের পর্যালোচনা-চিহ্ন রাখুন, এর বেশি নয়। একটি আইপি ক্যাশকে ব্রাউজিং ইতিহাস হতে হয় না।

চারটি কেস গ্রহণ করুন, একটি সংশোধনসহ

একটি সতেজ ফল, একটি মেয়াদোত্তীর্ণ ফল, একটি ব্যর্থ লুকআপ এবং পরে সংশোধিত একটি শ্রেণিবিন্যাস পরীক্ষা করুন। প্রত্যেকটি ভিন্ন শাখা চালায়, আর কেবল শেষটিই দেখায় ভুল নিষেধাজ্ঞা ফিরিয়ে নেওয়া যায় কি না।

তারপর নিশ্চিত করুন যে সাধারণ ব্যবহারকারীর ভুল ব্লকের পর পর্যালোচনা চাওয়ার পথ আছে, কারণ ফিড মাঝে মাঝে ভুল করবে এবং সারিটি নকশার অংশ। চারটি কেসই নীতির মালিকের নামের পাশে রানবুকে লিখুন। নকশা তার জায়গা অর্জন করে যখন এটি অপ্রয়োজনীয় লুকআপ সরিয়ে অনিশ্চয়তা অক্ষত রাখে এবং সিদ্ধান্ত দৃশ্যমানভাবে একজন মানুষের অধীনে থাকে।

সম্পর্কিত নিবন্ধ