← नवीनतम पेपर
💻 computer science

A Comparative Survey of API Rate-Limiting Algorithms: Token Bucket, Leaky Bucket, and Sliding Window

यह शोध पत्र पांच व्यापक रूप से उपयोग किए जाने वाले API रेट-लिमिटिंग एल्गोरिदम—टोकन बकेट, लीकी बकेट, फिक्स्ड विंडो, स्लाइडिंग विंडो लॉग और स्लाइडिंग विंडो काउंटर—का सर्वेक्षण और प्रयोगात्मक तुलना करता है ताकि बर्स्ट टॉलरेंस (burst tolerance) और परिशुद्धता (precision) में उनके ट्रेड-ऑफ का मूल्यांकन किया जा सके, और अंततः विशिष्ट ट्रैफ़िक विशेषताओं और सिस्टम बाधाओं के आधार पर सबसे उपयुक्त एल्गोरिदम चुनने के लिए मार्गदर्शन प्रदान किया जा सके।

मूल लेखक: Umair Saleem

प्रकाशित 2026-09-09
📖 5 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Umair Saleem

मूल पेपर CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

आधुनिक डिजिटल सेवाएँ उपलब्धता और सुरक्षा के बीच एक नाजुक संतुलन पर टिकी होती हैं। जब लाखों लोग एक साथ किसी वेबसाइट या एप्लिकेशन तक पहुँचने की कोशिश करते हैं, तो पर्दे के पीछे के सर्वर अत्यधिक बोझ के कारण घिर सकते हैं, ठीक वैसे ही जैसे अचानक बढ़े ट्रैफिक के कारण एक लेन वाला पुल जाम हो जाता है। इस तरह के पतन को रोकने के लिए, इंजीनियर 'रेट लिमिटिंग' (दर सीमित करने) नामक एक तंत्र का उपयोग करते हैं, जो एक द्वारपाल की तरह कार्य करता है। यह द्वारपाल गिनता है कि एक विशिष्ट उपयोगकर्ता या डिवाइस एक निश्चित अवधि के भीतर कितने अनुरोध (रिक्वेस्ट) भेज रहा है और किसी भी सुरक्षित सीमा से अधिक होने वाले अनुरोधों को ब्लॉक कर देता है। इसका लक्ष्य उपयोगकर्ताओं को दंडित करना नहीं है, बल्कि यह सुनिश्चित करना है कि सिस्टम सभी के लिए स्थिर बना रहे, जिससे कुछ भारी उपयोगकर्ताओं द्वारा उपलब्ध संसाधनों का सारा हिस्सा उपभोग करने से रोका जा सके। हालाँकि, सारा ट्रैफिक एक निरंतर प्रवाह में नहीं आता है; कभी-कभी यह अचानक और तीव्र उछाल के रूप में आता है, जैसे कि जब कोई लोकप्रिय समाचार खबर आती है या कोई सिस्टम विफल कनेक्शन को पुनः प्रयास (रिट्राई) करता है। इंजीनियरों के लिए चुनौती यह तय करना है कि इन उछालों (बर्स्ट) को कैसे संभाला जाए: क्या सिस्टम को एक अस्थायी उछाल को गुजरने देना चाहिए, या क्या उसे स्थिति की परवाह किए बिना सख्ती से एक स्थिर सीमा लागू करनी चाहिए?

उमैर सलीम द्वारा किया गया एक हालिया अध्ययन उन विभिन्न गणितीय नियमों की जांच करता है जिनका उपयोग इन डिजिटल द्वारपालों को बनाने के लिए किया जाता है। यह शोध पांच विशिष्ट विधियों पर केंद्रित है जो उद्योग में आमतौर पर उपयोग की जाती हैं: टोकन बकेट (token bucket), लीकी बकेट (leaky bucket), फिक्स्ड विंडो काउंटर (fixed window counter), स्लाइडिंग विंडो लॉग (sliding window log), और स्लाइडिंग विंडो काउंटर (sliding window counter)। इनमें से प्रत्येक विधि का समय को ट्रैक करने और अनुरोधों को गिनने का अलग तरीका है, जिससे ट्रैफिक के उछाल के दौरान अलग-अलग व्यवहार देखने को मिलता है। यह समझने के लिए कि कौन सी विधि सबसे अच्छी है, लेखक केवल सिद्धांत पर निर्भर नहीं रहे, बल्कि उन्होंने इन सभी का परीक्षण करने के लिए एक कंप्यूटर सिमुलेशन बनाया। सिमुलेशन ने एक सौ सेकंड की अवधि में एक हजार से अधिक अनुरोधों का एक वास्तविक प्रवाह बनाया। इस प्रवाह में प्रति सेकंड आठ अनुरोधों का एक स्थिर बैकग्राउंड फ्लो शामिल था, जिसे दो अलग-अलग गतिविधियों के उछाल ने बाधित किया: पाँच सेकंड की एक अवधि जहाँ ट्रैफिक प्रति सेकंड चालीस अनुरोधों तक बढ़ गया, और उसके बाद एक तीव्र दो-सेकंड का उछाल जो प्रति सेकंड साठ अनुरोधों तक पहुँच गया। इस सटीक ट्रैफिक पैटर्न को प्रत्येक पाँच एल्गोरिदम के माध्यम से चलाकर, अध्ययन यह माप सका कि प्रत्येक विधि ने कितने अनुरोध स्वीकार किए, कितने अस्वीकार किए, और उछाल के दौरान सिस्टम का व्यवहार कैसा रहा।

परिणामों ने ट्रैफिक के उछाल के दबाव को संभालने के तरीकों में एक स्पष्ट विभाजन को प्रकट किया। जब इनका उपयोग केवल यह तय करने के लिए किया गया कि किसी अनुरोध को स्वीकार करना है या अस्वीकार, तो टोकन बकेट और लीकी बकेट लगभग समान व्यवहार करते दिखे। दोनों विधियों ने अन्य विधियों की तुलना में उछाल को अधिक प्रभावी ढंग से सोख लिया, जिसमें कुल 1,057 में से 844 अनुरोध स्वीकार किए गए, जो लगभग 80 प्रतिशत की स्वीकृति दर को दर्शाता है। पहले बड़े उछाल के दौरान, इन दोनों विधियों ने 69 अनुरोधों को गुजरने दिया, और दूसरे तीव्र उछाल के दौरान, इन्होंने 38 अनुरोधों को गुजरने दिया। ऐसा इसलिए हुआ क्योंकि ये एल्गोरिदम भविष्य के उपयोग के लिए "अतिरिक्त अनुमति" को संचित करने की क्षमता के साथ डिज़ाइन किए गए हैं, जिससे वे उपयोगकर्ताओं को तुरंत दूर करने के बजाय उछाल को सुचारू बना पाते हैं। इसके विपरीत, स्लाइडिंग विंडो लॉग सभी विधियों में सबसे कठोर था। इसने किसी भी एकल सेकंड में दस से अधिक अनुरोधों को कभी भी गुजरने नहीं दिया, और निर्धारित सीमा का सख्ती से पालन किया। हालाँकि इससे ओवरलोड के विरुद्ध सबसे सटीक सुरक्षा मिली, लेकिन इसकी एक बड़ी कीमत चुकानी पड़ी: इसने कुल मिलाकर सबसे अधिक ट्रैफिक को अस्वीकार किया, और केवल 67.9 प्रतिशत अनुरोधों को स्वीकार किया। यह एकमात्र ऐसी विधि थी जिसने गारंटी दी कि सिस्टम को सीमा से ऊपर का कोई उछाल नहीं दिखेगा, लेकिन इसने अन्य विधियों की तुलना में अधिक वैध उपयोगकर्ताओं को बार-बार दूर किया।

बाकी तीन विधियाँ बीच में कहीं गिरीं, जो समय को मापने के आधार पर अनुमानित खामियों को दर्शाती हैं। फिक्स्ड विंडो काउंटर, जो हर नए सेकंड की शुरुआत में अपनी गिनती रीसेट करता है, को सीमाओं पर एक टाइमिंग त्रुटि का सामना करना पड़ा। क्योंकि यह ट्रैफिक के उछाल के आगमन के समय ही अपनी गिनती रीसेट कर सकता था, इसने एक ही सेकंड में पंद्रह अनुरोधों तक का अस्थायी उछाल होने दिया, जो कि निर्धारित सीमा से अधिक था। स्लाइडिंग विंडो काउंटर ने पिछले सेकंड को भी देखकर इसे ठीक करने का प्रयास किया, लेकिन इसने केवल आंशिक रूप से समस्या को सुधारा, और इसका शिखर तेरह अनुरोधों तक पहुँचा। अध्ययन में पाया गया कि एल्गोरिदम का चुनाव पूरी तरह से इस पर निर्भर करता है कि सिस्टम को क्या बचाने की आवश्यकता है। यदि लक्ष्य उपयोगकर्ताओं को खुश रखना और गतिविधि के प्राकृतिक उछाल (जैसे कि कई डेटा कॉल्स के साथ एक पेज का रीलोड होना) को अनुमति देना है, तो टोकन बकेट श्रेष्ठ विकल्प है क्योंकि यह उच्च स्वीकृति के साथ स्थिर प्रदर्शन का संतुलन बनाता है। यदि लक्ष्य एक नाजुक डाउनस्ट्रीम सिस्टम की रक्षा करना है जो किसी भी प्रकार के उछाल को सहन नहीं कर सकता, तो स्लाइडिंग विंडो लॉग बेहतर विकल्प है, भले ही इसकी स्वीकृति दर कम हो। शोध यह निष्कर्ष निकालता है कि हर काम के लिए कोई एक आदर्श उपकरण नहीं है; इसके बजाय, इंजीनियरों को उस विधि को चुनना चाहिए जो उनके ट्रैफिक उछाल के प्रति विशिष्ट सहनशीलता और उनके उपलब्ध मेमोरी संसाधनों के साथ मेल खाती हो।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →