2012-11-16 16 views
6

मैं एक मूल्य निर्धारण मंच पर काम कर रहा हूं जिस पर मुझे एक वितरित दर सीमित एल्गोरिदम लागू करना है। मेरे पास के गेटवे हैं जो x सेवाएं प्रदान करते हैं। कोई गेटवे कोई भी सेवा प्रदान कर सकता है (लोड बैलेंसर के माध्यम से)। एक ग्राहक सेवा के लिए प्रति सेकेंड कई कॉल खरीदता है, इसकी कॉल किसी गेटवे के माध्यम से रूट की जा सकती है। तो, क्या कोई ग्राहक कॉल को सीमित करने के लिए सभी गेटवे पर कॉल काउंटर अपडेट करने के लिए एक अच्छा एल्गोरिदम जानता है?वितरित रेट सीमित एल्गोरिदम

इस एल्गोरिदम के संबंध में दो महत्वपूर्ण संकेतक, नेटवर्क ओवरहेड और स्वीकृत कॉल और दर सीमा की संख्या के बीच विचलन हैं।

धन्यवाद!

संपादित करें मैं सिर्फ यह जानना चाहता हूं कि कोई "जाने-माने" एल्गोरिदम है या नहीं।

+1

आपने क्या एल्गोरिदम की कोशिश की है कि उत्तर आपकी सीमाओं के भीतर नहीं था? – Woot4Moo

+1

मैं समस्या का अध्ययन कर रहा हूं, मैंने इस पल के लिए किसी भी एल्गोरिदम को लागू नहीं किया क्योंकि मुझे मौजूदा एल्गोरिदम नहीं पता है। हम आसानी से एक बेवकूफ एल्गोरिदम की कल्पना कर सकते हैं जो प्रत्येक गेटवे को अन्य गेटवे को सूचित करने के लिए अपने काउंटर भेजता है कि उसे कॉल प्राप्त हुआ और फिर अन्य सभी काउंटरों को कम करें, लेकिन यदि दर सीमा प्रति सेकेंड लगभग 10 000 कॉल है, तो नेटवर्क ओवरहेड भयानक है। एक और मामला रीट सीमा हो सकता है <गेटवे की संख्या और फिर किसी भी कॉल के बाद काउंटर प्रसारण का मतलब है। – Lambdacrash

+0

यदि आप वितरित दर सीमित एल्गोरिदम जानते हैं, तो मुझे उनके नाम दें: पी – Lambdacrash

उत्तर

3

मैंने इस article (archive.org) के आधार पर एक समाधान लागू किया है। मुझे लगता है कि एल्गोरिदम को Leaky Bucket कहा जाता है लेकिन यह ठीक काम करता है। यह सही नहीं है क्योंकि यह पूरे कोटा को विस्फोट में इस्तेमाल करने की इजाजत देता है, लेकिन समग्र रूप से यह node.js और Redis के साथ बहुत तेज़ है। स्वीकृत अनुरोधों और दर के बीच का अंतर काफी अधिक हो सकता है और नमूना खिड़की और बाल्टी आकार के बीच अनुपात पर निर्भर करता है।

+0

बहुत बहुत धन्यवाद, मैं इस एल्गोरिदम को कार्यान्वित करूँगा और जांच करूँगा कि मेरी सीमाओं में है :-) – Lambdacrash

+0

आलेख के लिए दिया गया लिंक अब उपलब्ध नहीं प्रतीत होता है। – lrAndroid

+0

@IrAndroid: archive.org को इंगित करने के लिए लिंक को फिक्स्ड करें। – mhvelplund

संबंधित मुद्दे

 संबंधित मुद्दे