एंटीपैटर्न: कोटा नीतियों में, कार्डिनैलिटी वाले आइडेंटिफ़ायर का इस्तेमाल करना

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
जानकारी

कोटा नीति का इस्तेमाल, एपीआई प्रॉक्सी को मिले अनुरोधों की संख्या गिनने के लिए किया जाता है. इस सुविधा की मदद से, एपीआई उपलब्ध कराने वाली कंपनियां, किसी समयावधि में ऐप्लिकेशन से किए गए एपीआई कॉल की संख्या पर पाबंदियां लगा सकती हैं.

कोटा नीति में एक identifier एलिमेंट शामिल हो सकता है. यह एलिमेंट, कोटा "बकेट" की पहचान करता है. इस बकेट में हर अनुरोध को गिना जाता है.

ऐंटीपैटर्न

कोटा नीति का इस्तेमाल करते समय, ज़्यादा एलिमेंट वाले आइडेंटिफ़ायर का इस्तेमाल न करें.

कार्डिनलिटी से, किसी सेट में मौजूद यूनीक डेटा वैल्यू की संख्या का पता चलता है. ज़्यादा एलिमेंट वाले आइडेंटिफ़ायर में, अलग-अलग वैल्यू की संख्या ज़्यादा होती है. ज़्यादा कार्डिनैलिटी वाले आइडेंटिफ़ायर में, यूनीक अनुरोध आईडी या सेशन आईडी शामिल होते हैं. ये आईडी, हर एपीआई कॉल के साथ बदलते हैं.

ज़्यादा एलिमेंट वाले आइडेंटिफ़ायर का इस्तेमाल करने से, कोटा लागू करने की आपकी रणनीति का असर काफ़ी कम हो सकता है.

असर

कोटा नीति के आइडेंटिफ़ायर एलिमेंट के लिए, ज़्यादा कार्डिनैलिटी वाले आइडेंटिफ़ायर का इस्तेमाल करने से ये समस्याएं होती हैं:

  • कोटा लागू करने की सुविधा का सही तरीके से काम न करना: हर यूनीक आइडेंटिफ़ायर को एक अलग काउंटर के तौर पर माना जाता है. अगर हर अनुरोध का आईडी नया और यूनीक है, तो आपका कोटा सिस्टम हर एपीआई कॉल के लिए एक नया "बकेट" बनाता है. इसका मतलब है कि आपकी कुल कोटा सीमा को, एक बार इस्तेमाल किए जा सकने वाले अलग-अलग काउंटर के हिसाब से मापा जाता है. इसे उन अनुरोधों के असल ग्रुप के हिसाब से नहीं मापा जाता जिनकी संख्या आपको सीमित करनी है. इससे, ट्रैफ़िक कंट्रोल करने के लिए नीति का इस्तेमाल नहीं किया जा सकता.
  • ज़्यादा संसाधनों का इस्तेमाल: बड़ी संख्या में यूनीक कोटा काउंटर जनरेट करने और मैनेज करने से, Apigee प्लैटफ़ॉर्म पर बेवजह दबाव पड़ता है. इससे संसाधनों का इस्तेमाल बढ़ जाता है और परफ़ॉर्मेंस से जुड़ी समस्याएं हो सकती हैं.
  • मॉनिटर करने में समस्याएं: जब डेटा को बड़ी संख्या में यूनीक आइडेंटिफ़ायर में बांटा जाता है, तो एपीआई के इस्तेमाल के रुझानों को मॉनिटर करना और समझना मुश्किल हो जाता है. आपको यह नहीं दिखेगा कि कौनसे ऐप्लिकेशन, डेवलपर या प्रॉडक्ट, आपके एपीआई संसाधनों का इस्तेमाल कर रहे हैं.

सबसे सही तरीका

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

  • developer.app.name
  • client_id
  • apiproduct.name

सही आइडेंटिफ़ायर की मदद से, कोटा नीति इन कामों को बेहतर तरीके से कर सकती है: एपीआई ट्रैफ़िक को मैनेज करना, अनचाहे शुल्क से बचना, और इस्तेमाल के पैटर्न के बारे में साफ़ तौर पर जानकारी देना.