हमारी राय

रेट लिमिट दस्तावेज़ में लिखी होनी चाहिए, खोजनी नहीं पड़नी चाहिए

एक ख़ास तरह की बुरी सुबह होती है जो विफल अनुरोधों के अचानक उछाल से शुरू होती है और एक डेवलपर के पहली बार किसी प्रदाता का स्टेटस पेज पढ़ने पर ख़त्म होती है, जो यह समझने की कोशिश कर रहा होता है कि ये विफलताएँ किसी आउटेज की वजह से हैं या किसी ऐसी सीमा की वजह से जिसके होने का उसे पता ही नहीं था। वह सुबह पूरी तरह टाली जा सकती है, और यह तथ्य कि इस उद्योग में यह अब भी होता है, दस्तावेज़ीकरण की विफलता है, इंफ़्रास्ट्रक्चर की नहीं।

रेट लिमिट कोई रहस्य नहीं है। यह किसी सिस्टम के बारे में एक परिचालन तथ्य है, बिल्कुल अधिकतम अनुरोध आकार या समर्थित HTTP मेथड की तरह, और इसकी जगह भी वही है: किसी के उससे टकराने से पहले लिखा हुआ। हम अपनी रेट लिमिट रेट लिमिट दस्तावेज़ में प्रकाशित करते हैं, ऑथेंटिकेशन और त्रुटियों वाले पेजों के साथ, ताकि डेवलपर को जिन संख्याओं के हिसाब से योजना बनानी है, वे इंटीग्रेशन कोड की पहली पंक्ति लिखने से पहले उपलब्ध हों, आउटेज जैसी पहली दोपहर के बाद नहीं।

फिर भी, केवल दस्तावेज़ काफ़ी नहीं है, क्योंकि सीमाएँ इस पर निर्भर कर सकती हैं कि आप किस प्लान पर हैं, और आपके खाते की स्थिति बदलते ही दस्तावेज़ पुराना पड़ जाता है। इसीलिए हर रिस्पॉन्स में लाइव कोटा हेडर भी होते हैं: आपकी सीमा, आपने कितना उपयोग किया है, कितना मुफ़्त कोटा बचा है, आपके नेटवर्क के साझा कोटा का कितना उपयोग हुआ है, आपका बचा हुआ प्रीपेड क्रेडिट, और कोटा कब रीसेट होता है। अपनी स्थिति जानने के लिए आपको किसी दस्तावेज़ का अपने डैशबोर्ड से मिलान नहीं करना पड़ता। जवाब हर एक कॉल पर ख़ुद रिस्पॉन्स के साथ आता है।

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

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

प्रोडक्शन में किसी विफल अनुरोध के ज़रिए रेट लिमिट का पता चलना कोई अनिवार्य अनुभव नहीं है। यह इस बात का संकेत है कि दस्तावेज़ ने अपना काम नहीं किया। हमारा दस्तावेज़ इसलिए है कि वह ख़ास बुरी सुबह ऐसी चीज़ बने जिसके बारे में आप किसी और के साथ होने की बात पढ़ें, न कि ऐसी चीज़ जो आपके साथ हो।