← सूची पर वापस जाएँ

एक महीने में 50,000 बार? एपीआई की अत्यधिक कॉल अंततः हल हो गई है।

itadol5j

हाल ही में, एक दोस्त मेरे पास आया और कहा कि उसे फ्लाइंग बुक डेवलपर के बैकस्टेज में एक गंभीर समस्या मिली: / ओपन-एपीआईएस / बॉट / v3 / इन्फो, इस इंटरफ़ेस को एक मिनट में सैकड़ों बार बुलाया जाता है, और महीने में 50,000 बार यह बाहर निकलने जा रहा है!

फ्लाइट बुक एपीआई कॉल मॉनिटर

आप कैसे पता लगा?

फ्लाइंग बुक डेवलपर के "एपीआई कॉल सांख्यिकी" बैकस्टेज में मित्र ने इस इंटरफेस के लिए कॉल की असाधारण उच्च संख्या देखी:

सूचकमूल्य
दैनिक कॉल की संख्या43200+ बार
हर मिनट कॉल करें~ 300 बार
अनुमानित मासिक खपत50,000 बार बंद करें।

वह चला गया: मैं एक रोबोट हूँ। मैं अक्सर कैसे कह सकता हूँ?

समस्या के मूल कारण

मैंने ओपनक्लॉ के फ्लाईबुक एक्सटेंशन कोड को जारी किया और इसे दो स्थानों पर पाया:

1. स्टेटस चेक ट्रिगर एपीआई कॉल

जांचFeishu() फ़ंक्शन हर बार जब आप रोबोट स्टेटस के बारे में पूछते हैं तो उड़ान पुस्तकों के लिए botinfo इंटरफ़ेस कहता है। इस समारोह को निम्नलिखित परिदृश्यों में बुलाया जाता है:

  • स्टार्टअप पर OpenID प्राप्त करें
  • जब बाहरी सिस्टम क्वेरी स्थिति
  • जब WebSocket डिस्कनेक्ट हो जाता है

2. एक कैश तंत्र की कमी

मूल कोड "ऐस्क हर कॉल" था और इसमें कोई कैश नहीं था। यदि आप 10 बार की स्थिति के लिए पूछते हैं, तो आपके पास 10 API कॉल होंगे।

समाधान: 5 मिनट कैश तंत्र

मैंने जांच के लिए एक सरल कैश जोड़ा:

// 缓存配置:5分钟内不重复调用 API
const CACHE_TTL_MS = 5 * 60 * 1000;
const botInfoCache = new Map();

मुख्य तर्क सरल है:

  • पहला कॉल ♪ उड़ान पुस्तकों के लिए अनुरोध एपीआई कैश
  • 5 मिनट में फिर से कॉल करें। ○ डायरेक्ट बैक कैश (कोई नया अनुरोध शुरू नहीं हुआ)
  • असफलता भी बंद हो गई। असफल होने पर बार-बार अनुरोधों से बचें

संशोधित प्रभाव

कंट्रास्टसंशोधित करने से पहलेसंशोधन
प्रत्येक स्थिति क्वेरीकॉल एपीआईप्रत्यक्ष कैश
फिर से कोशिश करने में विफलअसीमित Retryकैश 5 मिनट
अनुमानित मासिक खपत50000+ बार~ 300 बार

यह सरल है।अधिकतम 1 कॉल प्रति 5 मिनट, 24 घंटे प्रति दिन = 288 बार / माह, वर्ष में लगभग 3,500 बार। मूल 50 ग्रैंड / माह की सीमा, यह रन आउट नहीं है!

दृश्य लागू करें

इस कार्यक्रम के लिए विशेष रूप से उपयुक्त है:

  • उपयोगकर्ता OpenClaw के साथ विस्तारित
  • अपने स्वयं के उड़ान बुक रोबोट का विकास और अक्सर botinfo इंटरफ़ेस पर कॉल करें
  • एपीआई स्केल तत्काल है और कॉल की संख्या को अनुकूलित करना चाहता है

सारांश

फ्लाइंग बुक एपीआई की ओवर-ऑलेशन समस्या अनिवार्य रूप से कैश तंत्र की कमी के कारण होती है। समाधान सरल है: एक कैश के साथ इंटरफ़ेस को कॉल करें।

कभी-कभी सरलतम अनुकूलन सबसे प्रभावी है।