डिस्कनेक्शन क्या है?
स्ट्रीमिंग कनेक्शन डिस्कनेक्ट क्यों हो सकता है
- प्रमाणीकरण त्रुटि (जैसे गलत टोकन या गलत प्रमाणीकरण विधि का उपयोग)।
- X की ओर स्ट्रीमिंग सर्वर का रीस्टार्ट होना। यह आमतौर पर कोड डिप्लॉय से जुड़ा होता है और इसकी सामान्यतः अपेक्षा की जानी चाहिए तथा सिस्टम को उसी के अनुसार डिज़ाइन किया जाना चाहिए।
- आपका क्लाइंट स्ट्रीम द्वारा डिलीवर किए जा रहे पोस्ट्स की मात्रा के साथ तालमेल नहीं बिठा पा रहा है या बहुत धीमी गति से डेटा पढ़ रहा है। हर स्ट्रीमिंग कनेक्शन के साथ क्लाइंट को भेजे जाने वाले संदेशों की एक कतार होती है। अगर समय के साथ यह कतार बहुत बड़ी हो जाती है, तो कनेक्शन बंद कर दिया जाएगा।
- आपके खाते ने पोस्ट्स का अपना दैनिक/मासिक कोटा पार कर लिया है।
- आपके पास बहुत अधिक सक्रिय अनावश्यक कनेक्शन हैं।
- कोई क्लाइंट अचानक डेटा पढ़ना बंद कर देता है। अगर स्ट्रीम से पढ़े जा रहे पोस्ट्स की दर अचानक गिर जाती है, तो कनेक्शन बंद कर दिया जाएगा।
- सर्वर और क्लाइंट के बीच संभावित नेटवर्क समस्याएं
- सर्वर-साइड की अस्थायी समस्या, निर्धारित रखरखाव या अपडेट। (status page देखें)
आम डिस्कनेक्शन त्रुटियों में ये शामिल हैं:
डिस्कनेक्शन की आशंका का अनुमान लगाना और फिर से कनेक्ट करना
- आपके कोड को यह पता लगाना चाहिए कि नया कॉन्टेंट और heartbeat आना कब बंद हो गया है।
- अगर ऐसा होता है, तो आपके कोड को फिर से कनेक्ट करने वाला लॉजिक ट्रिगर करना चाहिए। कुछ क्लाइंट्स और प्रोग्रामिंग भाषाएँ आपको read timeout निर्दिष्ट करने देती हैं, जिसे आप 20 सेकंड पर सेट कर सकते हैं।
- आपकी सेवा को इन डिस्कनेक्शनों का पता लगाना चाहिए और जितनी जल्दी हो सके फिर से कनेक्ट करना चाहिए।
- TCP/IP स्तर की नेटवर्क त्रुटियों के लिए अंतराल को रैखिक रूप से बढ़ाएँ। ये समस्याएँ आम तौर पर अस्थायी होती हैं और जल्दी ठीक हो जाती हैं। हर प्रयास के साथ फिर से कनेक्ट करने की देरी 250ms बढ़ाएँ, अधिकतम 16 सेकंड तक।
- उन HTTP त्रुटियों के लिए, जिनमें फिर से कनेक्ट करना उपयुक्त हो, अंतराल को घातीय रूप से बढ़ाएँ। 5 सेकंड के इंतज़ार से शुरू करें, हर प्रयास में इसे दोगुना करें, अधिकतम 320 सेकंड तक।
- HTTP 429 त्रुटियों के लिए “Rate limit exceeded” अंतराल को घातीय रूप से बढ़ाएँ। 1 मिनट के इंतज़ार से शुरू करें और हर प्रयास में इसे दोगुना करें। ध्यान दें कि हर HTTP 429 मिलने पर वह समय बढ़ जाता है, जितना आपको तब तक इंतज़ार करना होगा जब तक आपके खाते पर rate limiting लागू रहना बंद न हो जाए।
खोया हुआ डेटा पुनर्प्राप्त करना
रेट लिमिट्स और उपयोग
- x-rate-limit-limit उन अनुरोधों की आवंटित संख्या दर्शाता है, जिन्हें आपका क्लाइंट 15-मिनट की विंडो के दौरान कर सकता है।
- x-rate-limit-remaining 15-मिनट की विंडो में अब तक किए गए अनुरोधों की संख्या दर्शाता है।
- x-rate-limit-reset एक UNIX timestamp है, जो यह बताता है कि 15-मिनट की विंडो कब फिर से शुरू होगी, जिससे x-rate-limit-remaining 0 पर रीसेट हो जाएगा।