प्लग इन का इस्तेमाल करना

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

Edge Microgateway v. 3.0.x

दर्शक

यह विषय ऐसे Edge माइक्रोगेटवे ऑपरेटर के लिए है जो माइक्रोगेटवे के साथ इंस्टॉल किए गए मौजूदा प्लगिन का इस्तेमाल करना चाहते हैं. इसमें अचानक हुई बढ़ोतरी और कोटा प्लगिन के बारे में विस्तार से जानकारी दी गई है (इंस्टॉलेशन में इन दोनों को शामिल किया गया है). अगर आप डेवलपर हैं और आपको नए प्लग डेवलप करने हैं, तो पसंद के मुताबिक प्लग इन डेवलप करें देखें.

Edge माइक्रोगेटवे प्लगिन क्या है?

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

Edge माइक्रोगेटवे के साथ बंडल किए गए मौजूदा प्लग इन

इंस्टॉल करते समय, Edge माइक्रोगेटवे के साथ कई मौजूदा प्लग इन दिए गए हैं. इनमें शामिल हैं:

प्लग इन डिफ़ॉल्ट रूप से चालू है ब्यौरा
आंकड़े हां यह सुविधा, Edge माइक्रोगेटवे से Apigee Edge में आंकड़ों का डेटा भेजता है.
oauth हां Edge माइक्रोगेटवे में OAuth टोकन और एपीआई पासकोड की पुष्टि करता है. एज माइक्रोगेटवे को सेट अप और कॉन्फ़िगर करना देखें.
कोटा नहीं Edge माइक्रोगेटवे के अनुरोधों के लिए कोटा लागू करता है. कोटा को सेव और मैनेज करने के लिए, Apigee Edge का इस्तेमाल किया जाता है. कोटा प्लगिन का इस्तेमाल करना देखें.
स्पाइकअरेस्ट नहीं ट्रैफ़िक में अचानक होने वाली बढ़ोतरी और DoS के हमलों से सुरक्षा करता है. स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना देखें.
हेडर-अपरकेस नहीं एक टिप्पणी, प्रॉक्सी का एक नमूना. यह एक गाइड है, जिसका मकसद कस्टम प्लग इन लिखने में डेवलपर की मदद करना है. Edge Microgateway सैंपल प्लगिन देखें.
खाते को इकट्ठा करने का अनुरोध नहीं प्लगिन चेन में अगले हैंडलर को डेटा भेजने से पहले अनुरोध किए गए डेटा को एक ही ऑब्जेक्ट के तौर पर इकट्ठा करता है. इससे उन प्लग इन को बदलने में मदद मिलती है जिन्हें एक ही इकट्ठा किए गए अनुरोध वाले कॉन्टेंट ऑब्जेक्ट पर काम करना होता है.
रिस्पॉन्स-रिस्पॉन्स नहीं प्लगिन चेन में अगले हैंडलर को डेटा भेजने से पहले, रिस्पॉन्स डेटा को एक ही ऑब्जेक्ट में इकट्ठा करता है. इससे उन प्लग इन को बदलने में मदद मिलती है जिन्हें एक ही इकट्ठा किए गए रिस्पॉन्स कॉन्टेंट वाले ऑब्जेक्ट पर काम करना होता है.
अपरकेस बदलना नहीं यह अनुरोध या जवाब के डेटा को बदलता है. यह प्लगिन, 'ट्रांसफ़ॉर्म' प्लगिन को लागू करने का सबसे सही तरीका दिखाता है. उदाहरण के तौर पर दिया गया प्लगिन, छोटा-सा ट्रांसफ़ॉर्म करता है (अनुरोध या जवाब के डेटा को अपरकेस में बदल देता है). हालांकि, एक्सएमएल से JSON जैसे दूसरे तरह के बदलाव करने के लिए, इसे आसानी से बदला जा सकता है.
json2xml नहीं स्वीकार किए जाने वाले या कॉन्टेंट के टाइप के हेडर के आधार पर, अनुरोध या रिस्पॉन्स डेटा को बदलता है. ज़्यादा जानकारी के लिए, GitHub में प्लगिन दस्तावेज़ देखें.
कोटा-मेमोरी नहीं Edge माइक्रोगेटवे के अनुरोधों के लिए कोटा लागू करता है. लोकल मेमोरी में कोटा स्टोर और मैनेज करता है.
healthcheck नहीं EDGE माइक्रोगेटवे प्रोसेस -- मेमोरी के इस्तेमाल, सीपीयू के इस्तेमाल वगैरह की जानकारी दिखाता है. प्लगिन का इस्तेमाल करने के लिए, अपने Edge माइक्रोगेटवे इंस्टेंस पर मौजूद यूआरएल /healthcheck को कॉल करें. इस प्लगिन को एक उदाहरण के तौर पर बनाया गया है. इसका इस्तेमाल करके, स्वास्थ्य की जांच करने वाले अपने प्लगिन को लागू किया जा सकता है.

मौजूदा प्लग इन कहां मिलेंगे

Edge माइक्रोगेटवे के साथ बंडल किए गए मौजूदा प्लग इन यहां मौजूद होते हैं जहां [prefix], npm प्रीफ़िक्स डायरेक्ट्री है. अगर यह डायरेक्ट्री नहीं मिल रही है, तो देखें कि Edge माइक्रोगेटवे कहां इंस्टॉल है.

[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins

प्लगिन जोड़ना और कॉन्फ़िगर करना

प्लगिन जोड़ने और कॉन्फ़िगर करने के लिए, इस पैटर्न का पालन करें:

  1. एज माइक्रोगेटवे को बंद करो.
  2. Edge माइक्रोगेटवे कॉन्फ़िगरेशन की फ़ाइल खोलें. ज़्यादा जानकारी के लिए, कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.
  3. कॉन्फ़िगरेशन फ़ाइल के plugins:sequence एलिमेंट में प्लगिन जोड़ें, जैसा कि यहां बताया गया है. प्लग इन उसी क्रम में चलाए जाते हैं जिस क्रम में वे इस सूची में दिखते हैं.
edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
     level: info
     dir: /var/tmp
     stats_log_interval: 60
  plugins:
     dir: ../plugins
     sequence:   
     - oauth
     - plugin-name
  1. प्लगिन कॉन्फ़िगर करें. कुछ प्लग इन में ऐसे पैरामीटर होते हैं जिन्हें कॉन्फ़िगर फ़ाइल में कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, स्पाइक अरेस्ट प्लगिन को कॉन्फ़िगर करने के लिए, यह छंद जोड़ा जा सकता है. ज़्यादा जानकारी के लिए, स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना देखें.
    edgemicro:
      home: ../gateway
      port: 8000
      max_connections: -1
      max_connections_hard: -1
      logging:
        level: info
        dir: /var/tmp
        stats_log_interval: 60
      plugins:
        dir: ../plugins
        sequence:
          - oauth
          - spikearrest
    spikearrest:
       timeUnit: minute
       allow: 10
    
  1. फ़ाइल सेव करें.
  2. आपने जिस कॉन्फ़िगरेशन फ़ाइल में बदलाव किया है उसके आधार पर, Edge माइक्रोगेटवे को रीस्टार्ट या फिर से लोड करें.

प्लगिन के लिए खास कॉन्फ़िगरेशन

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

[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config

जहां [prefix], npm प्रीफ़िक्स डायरेक्ट्री है. अगर यह डायरेक्ट्री नहीं मिल रही है, तो देखें कि Edge माइक्रोगेटवे कहां इंस्टॉल है.

plugins/<plugin_name>/config/default.yaml. उदाहरण के लिए, आप इस ब्लॉक को plugins/spikearrest/config/default.yaml में रख सकते हैं और वह किसी भी दूसरी कॉन्फ़िगरेशन सेटिंग को बदल देगा.

spikearrest:
   timeUnit: hour   
   allow: 10000   
   buffersize: 0

स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना

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

स्पाइक अरेस्ट प्लगिन जोड़ा जा रहा है

प्लगिन जोड़ना और कॉन्फ़िगर करना देखें.

उपयोगकर्ता की गतिविधि में बढ़ोतरी के लिए सैंपल कॉन्फ़िगरेशन

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - spikearrest
spikearrest:
   timeUnit: minute
   allow: 10
   bufferSize: 5

उपयोगकर्ता की गतिविधि में अचानक हुई बढ़ोतरी के लिए कॉन्फ़िगरेशन के विकल्प

  • timeUnit: इसकी मदद से, यह जानकारी मिलती है कि स्पाइक अरेस्ट की, एक्ज़ीक्यूशन विंडो को कितनी बार रीसेट किया जाता है. मान्य वैल्यू, सेकंड या मिनट होती हैं.
  • allow: TimeUnit के दौरान स्वीकार किए जाने वाले अनुरोधों की ज़्यादा से ज़्यादा संख्या. अगर एक से ज़्यादा Edge माइक्रो प्रोसेस चलाए जा रहे हैं, तो यह भी देखें.
  • bufferSize: (ज़रूरी नहीं, डिफ़ॉल्ट = 0) अगर bufferSize > 0 है, स्पाइक अरेस्ट अनुरोधों की इस संख्या को बफ़र में सेव करता है. अगली बार एक्ज़ीक्यूशन "विंडो" होने पर, सबसे पहले बफ़र किए गए अनुरोधों को प्रोसेस किया जाएगा. बफ़र जोड़ना भी देखें.

स्पाइक अरेस्ट कैसे काम करता है?

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

रनटाइम में अचानक हुई बढ़ोतरी की वजह से, रुकी हुई गतिविधियों की संख्या, हर मिनट या हर सेकंड के लिटरल वैल्यू के हिसाब से दिखने की संभावना से अलग होती है.

उदाहरण के लिए, मान लें कि आपने हर मिनट 30 अनुरोधों की दर तय की है. जैसे:

spikearrest:
   timeUnit: minute
   allow: 30

टेस्टिंग के दौरान, आपको लगता है कि एक सेकंड में 30 अनुरोध भेजे जा सकते हैं. हालांकि, इसके लिए ज़रूरी है कि वे अनुरोध एक मिनट में मिले. हालांकि, नीति इस तरह से सेटिंग लागू नहीं करती है. अगर आपकी राय में, एक सेकंड की अवधि में 30 अनुरोध किए जाएं, तो कुछ एनवायरमेंट में कम बढ़ोतरी दिख सकती है.

फिर, असल में क्या होता है? इस तरह के व्यवहार से बचने के लिए, स्पाइक अरेस्ट आपकी सेटिंग को छोटे-छोटे इंटरवल में बांटकर, तय किए गए ट्रैफ़िक को आसान बना देता है. इसके लिए, यहां दिया गया तरीका अपनाएं:

हर मिनट के हिसाब से किराया

हर मिनट की दरें, अनुमति वाले सेकंड के अनुरोधों के हिसाब से जोड़ दी जाती हैं. उदाहरण के लिए, प्रति मिनट 30 अनुरोध इस तरह से आसान हो जाते हैं:

60 सेकंड (1 मिनट) / 30 = 2-सेकंड का अंतराल या हर दो सेकंड में करीब एक अनुरोध. दो सेकंड के अंदर दूसरा अनुरोध पूरा नहीं किया जा सकेगा. साथ ही, एक मिनट के अंदर किया गया 31वां अनुरोध स्वीकार नहीं किया जाएगा.

हर सेकंड की दरें

हर सेकंड की दरें, मिलीसेकंड के अंतराल में मंज़ूर किए गए अनुरोधों के हिसाब से जोड़ दी जाती हैं. उदाहरण के लिए, हर सेकंड 10 अनुरोध इस तरह से आसान हो जाते हैं:

1, 000 मिलीसेकंड (एक सेकंड) / 10 = 100-मिलीसेकंड इंटरवल या हर 100 मिलीसेकंड पर करीब एक अनुरोध . 100 मि॰से॰ के अंदर दूसरा अनुरोध पूरा नहीं हो पाएगा. साथ ही, एक सेकंड के अंदर किया गया 11वां अनुरोध अस्वीकार हो जाएगा.

सीमा पार होने पर

अगर अनुरोधों की संख्या, तय की गई समयावधि में तय सीमा से ज़्यादा हो जाती है, तो स्पाइक अरेस्ट गड़बड़ी का यह मैसेज एचटीटीपी 503 स्टेटस के साथ दिखाता है:

{"error": "spike arrest policy violated"}

बफ़र जोड़ना

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

अगर एक से ज़्यादा EDGE माइक्रो प्रोसेस चलाई जा रही हैं, तो

मंज़ूर किए गए अनुरोधों की संख्या, Edge माइक्रो वर्कर की चल रही प्रोसेस की संख्या पर निर्भर करती है. स्पाइक अरेस्ट हर वर्कर प्रोसेस के हिसाब से अनुरोधों की संख्या कैलकुलेट करता है. डिफ़ॉल्ट रूप से, Edge माइक्रो प्रोसेस की संख्या, मशीन पर उन सीपीयू की संख्या के बराबर होती है जहां Edge माइक्रो इंस्टॉल किया गया है. हालांकि, जब आप Edge माइक्रो को शुरू करते हैं, तो start कमांड में दिए गए --processes विकल्प का इस्तेमाल करके वर्कर प्रोसेस की संख्या कॉन्फ़िगर की जा सकती है. उदाहरण के लिए, अगर आपको किसी तय समयावधि में 100 अनुरोधों पर स्पाक अरेस्ट ट्रिगर करना है और उसे --processes 4 विकल्प के साथ एज माइक्रोगेटवे शुरू करना है, तो स्पाक अरेस्ट कॉन्फ़िगरेशन में allow: 25 को सेट करें. खास जानकारी देने के लिए, allow कॉन्फ़िगरेशन पैरामीटर को "उभरती हुई बढ़ोतरी की गिरफ़्तारी की संख्या / प्रोसेस की संख्या" वैल्यू पर सेट करना है.

कोटा प्लगिन का इस्तेमाल करना

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

कोटा प्लगिन जोड़ना

प्लगिन जोड़ना और कॉन्फ़िगर करना देखें.

Apigee Edge में प्रॉडक्ट कॉन्फ़िगरेशन

Apigee Edge के यूज़र इंटरफ़ेस (यूआई) में कोटा कॉन्फ़िगर किया जा सकता है. यहां एपीआई प्रॉडक्ट कॉन्फ़िगर किए जाते हैं. आपको यह जानना ज़रूरी है कि किस प्रॉडक्ट में माइक्रोगेटवे-अवेयर प्रॉक्सी है, जिसे आपको कोटा के साथ सीमित करना है. इस प्रॉडक्ट को किसी डेवलपर ऐप्लिकेशन से जोड़ना ज़रूरी है. जब डेवलपर ऐप्लिकेशन में कुंजियों का इस्तेमाल करके पुष्टि किए गए एपीआई कॉल किए जाते हैं, तो उन एपीआई कॉल के लिए कोटा लागू किया जाएगा.

  1. अपने संगठन के Apigee Edge खाते में लॉग इन करें.
  2. Edge यूज़र इंटरफ़ेस (यूआई) में, माइक्रोगेटवे-अवेयर प्रॉक्सी से जुड़े उस प्रॉडक्ट को खोलें जिस पर आपको कोटा लागू करना है.
    1. यूज़र इंटरफ़ेस (यूआई) में, 'पब्लिश करें' मेन्यू से प्रॉडक्ट चुनें.
    2. वह प्रॉडक्ट खोलें जिसमें वह एपीआई मौजूद है जिस पर आपको कोटा लागू करना है.
    3. बदलाव करें पर क्लिक करें.
    4. कोटा फ़ील्ड में, कोटा इंटरवल तय करें. उदाहरण के लिए, हर एक मिनट में 100 अनुरोध. या हर 2 घंटे में 50,000 अनुरोध करें.

  1. सेव करें पर क्लिक करें.
  2. पक्का करें कि प्रॉडक्ट को किसी डेवलपर ऐप्लिकेशन से जोड़ा गया हो. पुष्टि किए गए एपीआई कॉल करने के लिए, आपको इस ऐप्लिकेशन के लिए कुंजियों की ज़रूरत होगी.

कोटा के लिए सैंपल कॉन्फ़िगरेशन

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - quota

कोटा के लिए कॉन्फ़िगरेशन विकल्प

कोटा प्लगिन को कॉन्फ़िगर करने के लिए, अपनी कॉन्फ़िगरेशन फ़ाइल में quotas एलिमेंट जोड़ें, जैसा कि इस उदाहरण में दिखाया गया है:

edgemicro:
  home: ../gateway
  port: 8000
  max_connections: -1
  max_connections_hard: -1
  logging:
    level: info
    dir: /var/tmp
    stats_log_interval: 60
  plugins:
    dir: ../plugins
    sequence:
      - oauth
      - quota
quotas:
  bufferSize:
    hour: 20000
    minute: 500
    month: 1
    default: 10000
  useDebugMpId: true
  failOpen: true
  useRedis: true
  redisHost: localhost
  redisPort: 6379
  redisDb: 1
...
विकल्प ब्यौरा
buffersize (इंटीजर) तय किए गए समय के अंतराल के लिए सेट किया जाने वाला बफ़रसाइज़. समय की इकाइयों में ये शामिल हैं: hour, minute, day, week, month, और default. (जोड़ा गया: वर्शन 3.0.9)
failOpen अगर इस सुविधा को चालू किया जाता है, तो कोटा प्रोसेसिंग में कोई गड़बड़ी होती है या Edge से किया गया "कोटा लागू" अनुरोध, रिमोट कोटा काउंटर को अपडेट नहीं कर पाता है, तो कोटा को सिर्फ़ स्थानीय लोगों की गिनती के हिसाब से प्रोसेस किया जाएगा. ऐसा तब तक होगा, जब तक कि रिमोट कोटा सिंक नहीं हो जाता. इन दोनों मामलों में, अनुरोध ऑब्जेक्ट में एक quota-failed-open फ़्लैग सेट किया जाता है. (जोड़ा गया: वर्शन 3.0.9)

कोटा "फ़ेल ओपन" सुविधा चालू करने के लिए, यह कॉन्फ़िगरेशन सेट करें:

edgemicro:
...
quotas:
  failOpen: true
...
useDebugMpId कोटा रिस्पॉन्स में एमपी (मैसेज प्रोसेसर) आईडी को लॉग करने की सुविधा चालू करने के लिए, इस फ़्लैग को true पर सेट करें. (जोड़ा गया: वर्शन 3.0.9)

इस सुविधा का इस्तेमाल करने के लिए, आपको अपने edgemicro-auth प्रॉक्सी को 3.0.7 या इसके बाद वाले वर्शन पर अपडेट करना होगा और यह कॉन्फ़िगरेशन सेट करना होगा:

edgemicro:
...
quotas:
  useDebugMpId: true
...

जब useDebugMpId सेट हो जाएगा, तब Edge से मिले कोटा के रिस्पॉन्स में एमपी आईडी शामिल होगा और इसे Edge माइक्रोगेटवे से लॉग किया जाएगा. उदाहरण के लिए:

{
    "allowed": 20,
    "used": 3,
    "exceeded": 0,
    "available": 17,
    "expiryTime": 1570748640000,
    "timestamp": 1570748580323,
    "debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
}
useRedis (बूलियन) Redis कोटा डेटाबेस मॉड्यूल का इस्तेमाल करने के लिए, true पर सेट करें. इस नीति को सेट करने पर, यह कोटा सिर्फ़ उन Edge माइक्रोगेटवे इंस्टेंस तक ही सीमित होता है जो Redis से कनेक्ट करते हैं. ऐसा न होने पर, कोटा काउंटर ग्लोबल होता है. डिफ़ॉल्ट: false (redis-volos-apigee मॉड्यूल का इस्तेमाल किया गया है) (जोड़ा गया: वर्शन 3.0.10)
redisHost वह होस्ट जहां आपका Redis इंस्टेंस चल रहा है. डिफ़ॉल्ट: 127.0.0.1 (जोड़ा गया: वर्शन 3.0.10)
redisPort Redis इंस्टेंस का पोर्ट. डिफ़ॉल्ट: 6379 (जोड़ा गया: वर्शन 3.0.10)
redisDb Redis DB का इस्तेमाल करना. डिफ़ॉल्ट: 0 (जोड़ा गया: वर्शन 3.0.10)

कोटा के दायरे को समझना

कोटा की संख्या का दायरा एक एपीआई प्रॉडक्ट के दायरे में आता है. अगर किसी डेवलपर ऐप्लिकेशन में एक से ज़्यादा प्रॉडक्ट हैं, तो कोटा हर प्रॉडक्ट के लिए अलग-अलग होता है. इस स्कोप को हासिल करने के लिए, Edge माइक्रोगेटवे एक कोटा आइडेंटिफ़ायर बनाता है जो "appName + productName" से जुड़ा होता है.

कोटा प्लगिन की जांच करना

कोटा पार हो जाने पर, क्लाइंट को एक एचटीटीपी 403 स्टेटस दिखेगा. साथ ही, यह मैसेज भी दिखेगा:

{"error": "exceeded quota"}

अचानक होने वाली बढ़ोतरी (अरेस्ट अरेस्ट) और कोटे में क्या अंतर है?

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

डेवलपर और पार्टनर के साथ कारोबार के समझौते या सेवा स्तर समझौता (एसएलए) लागू करने के लिए, ऑपरेशनल ट्रैफ़िक मैनेजमेंट के बजाय कोटा नीति का इस्तेमाल करें. उदाहरण के लिए, कोटा का इस्तेमाल मुफ़्त सेवा के लिए ट्रैफ़िक को सीमित करने के लिए किया जा सकता है. साथ ही, पैसे चुकाने वाले ग्राहकों को पूरा ऐक्सेस देने के लिए, इसका इस्तेमाल किया जा सकता है.

एपीआई ट्रैफ़िक में अचानक अचानक होने वाली बढ़ोतरी से बचने के लिए, स्पाइक अरेस्ट सुविधा का इस्तेमाल करें. आम तौर पर, डीडीओएस (DDoS) या नुकसान पहुंचाने वाले अन्य हमलों का पता लगाने के लिए, स्पाइक अरेस्ट का इस्तेमाल किया जाता है.