परियोजना का विवरण
अनुवादितएल्गोरिदम के लिए हम दोनों एक टोकन बकेट वैरिएंट चाहते हैं जो छोटे बर्स्ट को समतल करता है और एक स्लाइडिंग विंडो काउंटर जो विंडो के भीतर सटीक लेखा के लिए है, नीति स्तर पर चयन योग्य। काउंटर को Redis में संग्रहीत किया जाना चाहिए ताकि कई एपीआई नोड्स एक ही उपभोग चित्र को बिना भिन्नता के देख सकें, और जांच स्वयं केवल एक या दो मिलीसेकंड की देरी जोड़ती है। सरल सीमाओं के परे, हमें पूर्ण-फledged कोटा स्तरों की आवश्यकता है जिनमें मासिक या दैनिक सीमाएं, प्रति-कुंजी उपभोग ट्रैकिंग और कॉलर को शेष कोटा लौटाने का एक तरीका हो। जब एक सीमा पार हो जाती है, तो सेवा को स्थिति 429 के साथ प्रतिक्रिया देनी चाहिए, सीमा, शेष और रीसेट सहित मानक सीमा हेडर लौटाना चाहिए, और एक Retry-After संकेत जोड़ना चाहिए ताकि अच्छे व्यवहार वाले ग्राहक खुद को थ्रॉटल करें।
डिलीवरी में दर योजनाओं और कुंजी बाइंडिंग का वर्णन करने के लिए एक छोटा प्रशासन पैनल या कॉन्फ़िग प्रारूप, बिलिंग और विश्लेषण के लिए एक मैट्रिक स्टोर, और स्पष्ट दस्तावेज़ शामिल हैं। कृपया समझाएं कि आप Redis में परमाणु संचालन की योजना कैसे बनाते हैं, आप उच्च समवर्तीता के तहत दौड़ की स्थितियों से कैसे बचते हैं और आप लाइव जाने से पहले लिमिटर का लोड-टेस्ट कैसे करेंगे।
— प्रति-कुंजी नीतियाँ टोकन बकेट और स्लाइडिंग विंडो एल्गोरिदम के साथ
— दैनिक और मासिक सीमाओं के साथ कोटा स्तर
— Redis पर साझा काउंटर न्यूनतम जोड़ी गई देरी के साथ
— बिलिंग के लिए उपभोग ट्रैकिंग और रिपोर्ट
— सीमा, शेष, रीसेट और Retry-After हेडर के साथ सही 429 प्रतिक्रियाएँ
— दर योजनाओं और कुंजी बाइंडिंग के लिए प्रशासन कॉन्फ़िग, दस्तावेज़ और लोड परीक्षण