आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
Edge Microgateway v. 3.0.x
ऑडियंस
यह विषय, Edge Microgateway ऑपरेटर के लिए है. ये ऑपरेटर, microgateway के साथ इंस्टॉल किए गए मौजूदा प्लगिन का इस्तेमाल करना चाहते हैं. इसमें स्पाइक अरेस्ट और कोटा प्लगिन के बारे में भी ज़्यादा जानकारी दी गई है. ये दोनों प्लगिन, इंस्टॉल किए गए प्लगिन के साथ शामिल होते हैं. अगर आप एक डेवलपर हैं और आपको नए प्लगिन डेवलप करने हैं, तो कस्टम प्लगिन डेवलप करना लेख पढ़ें.
Edge Microgateway प्लगिन क्या है?
प्लगिन, Node.js मॉड्यूल होता है. यह Edge Microgateway में सुविधाएं जोड़ता है. प्लगिन मॉड्यूल एक जैसे पैटर्न का पालन करते हैं और Edge Microgateway को पता होती है कि इन्हें कहां सेव किया गया है. इससे microgateway, इन्हें अपने-आप ढूंढकर लोड कर पाता है. Edge Microgateway में कई मौजूदा प्लगिन शामिल हैं. साथ ही, कस्टम प्लगिन भी बनाए जा सकते हैं. इसके बारे में कस्टम प्लगिन डेवलप करना लेख में बताया गया है.
Edge Microgateway के साथ बंडल किए गए मौजूदा प्लगिन
Edge Microgateway को इंस्टॉल करने पर, कई प्लगिन पहले से उपलब्ध होते हैं. इनमें ये शामिल हैं:
| प्लग इन | डिफ़ॉल्ट रूप से चालू है | ब्यौरा |
|---|---|---|
| analytics | हां | यह कुकी, Edge Microgateway से Apigee Edge को आंकड़ों का डेटा भेजती है. |
| oauth | हां | Edge Microgateway में OAuth टोकन और एपीआई पासकोड की पुष्टि करने की सुविधा जोड़ता है. Edge Microgateway सेट अप और कॉन्फ़िगर करना लेख पढ़ें. |
| quota | नहीं | यह Edge Microgateway को किए गए अनुरोधों पर कोटा लागू करता है. यह कुकी, Apigee Edge का इस्तेमाल करके कोटे को सेव और मैनेज करती है. कोटा प्लग इन का इस्तेमाल करना लेख पढ़ें. |
| spikearrest | नहीं | यह ट्रैफ़िक में अचानक होने वाली बढ़ोतरी और DoS हमलों से बचाता है. स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना लेख पढ़ें. |
| header-uppercase | नहीं | टिप्पणी किया गया सैंपल प्रॉक्सी, डेवलपर को कस्टम प्लगिन लिखने में मदद करने के लिए बनाया गया है. Edge Microgateway का सैंपल प्लगिन देखें. |
| accumulate-request | नहीं | यह कुकी, अनुरोध किए गए डेटा को एक ऑब्जेक्ट में इकट्ठा करती है. इसके बाद, डेटा को प्लगिन चेन में मौजूद अगले हैंडलर को भेजती है. यह उन ट्रांसफ़ॉर्म प्लगिन को लिखने के लिए फ़ायदेमंद है जिन्हें एक ही, इकट्ठा किए गए अनुरोध के कॉन्टेंट ऑब्जेक्ट पर काम करना होता है. |
| accumulate-response | नहीं | यह कुकी, जवाब के डेटा को एक ऑब्जेक्ट में इकट्ठा करती है. इसके बाद, प्लगिन चेन में मौजूद अगले हैंडलर को डेटा पास करती है. यह उन ट्रांसफ़ॉर्म प्लगिन को लिखने के लिए फ़ायदेमंद है जिन्हें एक ही, इकट्ठा किए गए रिस्पॉन्स कॉन्टेंट ऑब्जेक्ट पर काम करना होता है. |
| transform-uppercase | नहीं | अनुरोध या जवाब के डेटा को बदलता है. यह प्लगिन, ट्रांसफ़ॉर्म प्लगिन को लागू करने का सबसे सही तरीका है. उदाहरण के तौर पर दिए गए प्लगिन में, डेटा को सामान्य तरीके से बदला जाता है. जैसे, अनुरोध या जवाब के डेटा को अपरकेस में बदला जाता है. हालांकि, इसे आसानी से अन्य तरह के बदलावों के लिए भी इस्तेमाल किया जा सकता है. जैसे, एक्सएमएल को JSON में बदलना. |
| json2xml | नहीं | यह accept या content-type हेडर के आधार पर, अनुरोध या जवाब के डेटा को बदलता है. ज़्यादा जानकारी के लिए, GitHub पर प्लगिन के दस्तावेज़ देखें. |
| quota-memory | नहीं | यह Edge Microgateway को किए गए अनुरोधों पर कोटा लागू करता है. यह कुकी, लोकल मेमोरी में कोटे को सेव और मैनेज करती है. |
| healthcheck | नहीं | यह Edge Microgateway प्रोसेस के बारे में जानकारी देता है. जैसे, मेमोरी का इस्तेमाल, सीपीयू का इस्तेमाल वगैरह. इस प्लगिन का इस्तेमाल करने के लिए, अपने Edge Microgateway इंस्टेंस पर /healthcheck यूआरएल को कॉल करें. यह प्लगिन, एक उदाहरण के तौर पर बनाया गया है. इसका इस्तेमाल करके, अपनी ज़रूरत के हिसाब से हेल्थ चेक करने वाला प्लगिन बनाया जा सकता है. |
मौजूदा प्लगिन कहां मिलेंगे
Edge Microgateway के साथ बंडल किए गए मौजूदा प्लगिन यहां मौजूद हैं. यहां [prefix]
npm प्रीफ़िक्स डायरेक्ट्री है. अगर आपको यह डायरेक्ट्री नहीं मिल रही है, तो
Edge Microgateway कहां इंस्टॉल किया गया है देखें.
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins
प्लगिन जोड़ना और उन्हें कॉन्फ़िगर करना
प्लगिन जोड़ने और उन्हें कॉन्फ़िगर करने के लिए, इस पैटर्न का इस्तेमाल करें:
- Edge Microgateway को बंद करें.
- Edge Microgateway की कॉन्फ़िगरेशन फ़ाइल खोलें. विकल्पों के बारे में ज़्यादा जानने के लिए, कॉन्फ़िगरेशन में बदलाव करना लेख पढ़ें.
- प्लगिन को कॉन्फ़िगरेशन फ़ाइल के
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
- प्लगिन को कॉन्फ़िगर करें. कुछ प्लगिन में ऐसे पैरामीटर होते हैं जिन्हें कॉन्फ़िगर करना ज़रूरी नहीं होता. इन्हें कॉन्फ़िगर फ़ाइल में कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, स्पाइक अरेस्ट प्लगिन को कॉन्फ़िगर करने के लिए, यह स्टैंज़ा जोड़ा जा सकता है. ज़्यादा जानकारी के लिए, स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना लेख पढ़ें.
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
- फ़ाइल सेव करें.
- आपने जिस कॉन्फ़िगरेशन फ़ाइल में बदलाव किया है उसके हिसाब से, Edge Microgateway को रीस्टार्ट करें या फिर से लोड करें.
प्लगिन के हिसाब से कॉन्फ़िगरेशन
कॉन्फ़िगरेशन फ़ाइल में दिए गए प्लगिन के पैरामीटर को बदला जा सकता है. इसके लिए, इस डायरेक्ट्री में प्लगिन के हिसाब से कॉन्फ़िगरेशन बनाएं:
[prefix]/lib/node_modules/edgemicro/node_modules/microgateway-plugins/config
इसमें [prefix], npm प्रीफ़िक्स डायरेक्ट्री है. अगर आपको यह डायरेक्ट्री नहीं मिल रही है, तो
Edge Microgateway कहां इंस्टॉल किया गया है देखें.
plugins/<plugin_name>/config/default.yaml. उदाहरण के लिए, इस ब्लॉक को plugins/spikearrest/config/default.yaml में रखा जा सकता है. इससे कॉन्फ़िगरेशन की अन्य सेटिंग बदल जाएंगी.
spikearrest: timeUnit: hour allow: 10000 buffersize: 0
स्पाइक अरेस्ट प्लगिन का इस्तेमाल करना
स्पाइक अरेस्ट प्लगिन, ट्रैफ़िक में अचानक होने वाली बढ़ोतरी से बचाता है. यह Edge Microgateway इंस्टेंस से प्रोसेस किए गए अनुरोधों की संख्या को थ्रॉटल करता है.
स्पाइक अरेस्ट प्लगिन जोड़ना
प्लगिन जोड़ना और उन्हें कॉन्फ़िगर करना लेख पढ़ें.
स्पाइक अरेस्ट के लिए, कॉन्फ़िगरेशन का सैंपल
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 Micro प्रोसेस चल रही हैं, तो यह भी देखें.
- bufferSize: (ज़रूरी नहीं, डिफ़ॉल्ट = 0) अगर bufferSize > 0 है, तो स्पाइक अरेस्ट इस संख्या के हिसाब से अनुरोधों को बफ़र में सेव करता है. अगली बार एक्ज़ीक्यूट होने पर, बफ़र किए गए अनुरोधों को सबसे पहले प्रोसेस किया जाएगा. बफ़र जोड़ना भी देखें.
स्पाइक अरेस्ट कैसे काम करता है?
स्पाइक अरेस्ट को, ट्रैफ़िक में अचानक होने वाली बढ़ोतरी से बचाने के तरीके के तौर पर इस्तेमाल करें. इसे अनुरोधों की संख्या को सीमित करने के तरीके के तौर पर इस्तेमाल न करें. आपके एपीआई और बैकएंड, एक तय सीमा तक ही ट्रैफ़िक को हैंडल कर सकते हैं. ट्रैफ़िक में अचानक होने वाली बढ़ोतरी को रोकने से जुड़ी नीति, ट्रैफ़िक को उस सामान्य सीमा तक ले जाने में आपकी मदद करती है जो आपको चाहिए.
रनटाइम स्पाइक अरेस्ट का व्यवहार, आपकी ओर से डाली गई वैल्यू से अलग होता है.
उदाहरण के लिए, मान लीजिए कि आपने हर मिनट में 30 अनुरोध करने की दर तय की है. इसे इस तरह से दिखाया जा सकता है:
spikearrest: timeUnit: minute allow: 30
टेस्टिंग के दौरान, आपको लग सकता है कि एक सेकंड में 30 अनुरोध भेजे जा सकते हैं. हालांकि, ऐसा तब तक ही किया जा सकता है, जब तक वे एक मिनट के अंदर भेजे गए हों. हालांकि, नीति के तहत सेटिंग को लागू करने का तरीका यह नहीं है. अगर इस बारे में सोचा जाए, तो एक सेकंड में 30 अनुरोधों को कुछ एनवायरमेंट में मिनी स्पाइक माना जा सकता है.
इसके बाद क्या होता है? स्पाइक जैसी स्थिति से बचने के लिए, स्पाइक अरेस्ट की सुविधा, अनुमति वाले ट्रैफ़िक को कम कर देती है. इसके लिए, यह आपकी सेटिंग को छोटे-छोटे इंटरवल में बांट देती है. जैसे:
हर मिनट के हिसाब से शुल्क
हर मिनट की दरों को, सेकंड के अंतराल में अनुमति दिए गए अनुरोधों में बदल दिया जाता है. उदाहरण के लिए, हर मिनट में 30 अनुरोधों को इस तरह से बांटा जाता है:
60 सेकंड (एक मिनट) / 30 = दो सेकंड का अंतराल. इसका मतलब है कि हर दो सेकंड में एक अनुरोध किया जा सकता है. दो सेकंड के अंदर किया गया दूसरा अनुरोध पूरा नहीं होगा. इसके अलावा, एक मिनट में 31वां अनुरोध करने पर, उसे पूरा नहीं किया जा सकेगा.
हर सेकंड के हिसाब से दरें
प्रति सेकंड की दर को मिलीसेकंड के अंतराल में अनुमति दिए गए अनुरोधों में बदल दिया जाता है. उदाहरण के लिए, 10 अनुरोध/सेकंड को इस तरह से स्मूथ किया जाता है:
1000 मिलीसेकंड (1 सेकंड) / 10 = 100 मिलीसेकंड का इंटरवल या हर 100 मिलीसेकंड में एक अनुरोध किया जा सकता है . अगर 100 मि॰से॰ के अंदर दूसरा अनुरोध किया जाता है, तो वह पूरा नहीं होगा. इसके अलावा, एक सेकंड में 11वां अनुरोध पूरा नहीं किया जा सकेगा.
सीमा पार होने पर
अगर तय समयसीमा के अंदर अनुरोधों की संख्या, तय सीमा से ज़्यादा हो जाती है, तो स्पाइक अरेस्ट, एचटीटीपी 503 स्टेटस के साथ गड़बड़ी का यह मैसेज दिखाता है:
{"error": "spike arrest policy violated"}बफ़र जोड़ना
आपके पास नीति में बफ़र जोड़ने का विकल्प होता है. मान लें कि आपने बफ़र को 10 पर सेट किया है. आपको दिखेगा कि स्पाइक अरेस्ट की सीमा से ज़्यादा अनुरोध करने पर, एपीआई तुरंत गड़बड़ी का मैसेज नहीं दिखाता है. इसके बजाय, अनुरोधों को बफ़र किया जाता है. बफ़र किए गए अनुरोधों की संख्या, तय की गई संख्या से ज़्यादा नहीं होनी चाहिए. साथ ही, बफ़र किए गए अनुरोधों को अगली सही एक्ज़ीक्यूशन विंडो उपलब्ध होते ही प्रोसेस कर दिया जाता है. डिफ़ॉल्ट रूप से, bufferSize की वैल्यू 0 होती है.
अगर Edge की एक से ज़्यादा माइक्रो प्रोसेस चल रही हैं
अनुमति दिए गए अनुरोधों की संख्या, Edge Micro की चल रही वर्कर प्रोसेस की संख्या पर निर्भर करती है. स्पाइक अरेस्ट, हर वर्कर प्रोसेस के लिए अनुरोधों की तय सीमा का हिसाब लगाता है. डिफ़ॉल्ट रूप से, Edge Micro प्रोसेस की संख्या, उस मशीन पर मौजूद सीपीयू की संख्या के बराबर होती है जिस पर Edge Micro इंस्टॉल किया गया है. हालांकि, start कमांड पर --processes विकल्प का इस्तेमाल करके, Edge Micro शुरू करते समय वर्कर प्रोसेस की संख्या को कॉन्फ़िगर किया जा सकता है. उदाहरण के लिए, अगर आपको किसी तय समय में 100 अनुरोध मिलने पर स्पाइक अरेस्ट की सुविधा ट्रिगर करनी है और आपने --processes 4 विकल्प के साथ Edge Microgateway शुरू किया है, तो स्पाइक अरेस्ट कॉन्फ़िगरेशन में allow: 25 सेट करें. संक्षेप में, सामान्य नियम यह है कि allow config पैरामीटर को "ज़रूरत के मुताबिक स्पाइक रोकने की संख्या / प्रोसेस की संख्या" वैल्यू पर सेट करें.
कोटा प्लगिन का इस्तेमाल करना
कोटा से पता चलता है कि कोई ऐप्लिकेशन, एपीआई को एक घंटे, दिन, हफ़्ते या महीने में कितने अनुरोध सबमिट कर सकता है. जब कोई ऐप्लिकेशन, कोटे की सीमा तक पहुंच जाता है, तो बाद के एपीआई कॉल अस्वीकार कर दिए जाते हैं. यह भी देखें कि स्पाइक अरेस्ट और कोटा में क्या अंतर है?.
कोटा प्लगिन जोड़ना
प्लगिन जोड़ना और उन्हें कॉन्फ़िगर करना लेख पढ़ें.
Apigee Edge में प्रॉडक्ट कॉन्फ़िगरेशन
एपीआई प्रॉडक्ट कॉन्फ़िगर करने के लिए, Apigee Edge के यूज़र इंटरफ़ेस में कोटा कॉन्फ़िगर किए जाते हैं. आपको यह जानने की ज़रूरत है कि किस प्रॉडक्ट में, कोटे के हिसाब से इस्तेमाल की जा सकने वाली माइक्रोगेटवे-अवेयर प्रॉक्सी मौजूद है. इस प्रॉडक्ट को डेवलपर ऐप्लिकेशन में जोड़ा जाना चाहिए. जब डेवलपर ऐप्लिकेशन में मौजूद कुंजियों का इस्तेमाल करके, पुष्टि किए गए एपीआई कॉल किए जाते हैं, तब कोटा उन एपीआई कॉल पर लागू होगा.
- अपने Apigee Edge संगठन के खाते में लॉग इन करें.
- Edge के यूज़र इंटरफ़ेस (यूआई) में, उस प्रॉडक्ट को खोलें जो माइक्रोगेटवे के साथ काम करने वाली उस प्रॉक्सी से जुड़ा है जिस पर आपको कोटा लागू करना है.
- यूज़र इंटरफ़ेस (यूआई) में, पब्लिश करें मेन्यू से प्रॉडक्ट चुनें.
- वह प्रॉडक्ट खोलें जिसमें मौजूद एपीआई पर आपको कोटा लागू करना है.
- बदलाव करें पर क्लिक करें.
- कोटा फ़ील्ड में, कोटा इंटरवल तय करें. उदाहरण के लिए, हर मिनट में 100 अनुरोध. इसके अलावा, हर दो घंटे में 50,000 अनुरोध किए जा सकते हैं.

- सेव करें पर क्लिक करें.
- पक्का करें कि प्रॉडक्ट को डेवलपर ऐप्लिकेशन में जोड़ा गया हो. पुष्टि किए गए एपीआई कॉल करने के लिए, आपको इस ऐप्लिकेशन से कुंजियों की ज़रूरत होगी.
कोटे के लिए कॉन्फ़िगरेशन का सैंपल
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)
"fail open" सुविधा के लिए कोटा चालू करने के लिए, यह कॉन्फ़िगरेशन सेट करें: edgemicro: ... quotas: failOpen: true |
useDebugMpId |
इस फ़्लैग को true पर सेट करें, ताकि कोटे के जवाबों में MP (मैसेज प्रोसेसर) आईडी की लॉगिंग चालू की जा सके. (जोड़ा गया: वर्शन 3.0.9)
इस सुविधा का इस्तेमाल करने के लिए, आपको edgemicro: ... quotas: useDebugMpId: true ...
{
"allowed": 20,
"used": 3,
"exceeded": 0,
"available": 17,
"expiryTime": 1570748640000,
"timestamp": 1570748580323,
"debugMpId": "6a12dd72-5c8a-4d39-b51d-2c64f953de6a"
} |
useRedis |
(बूलियन) Redis कोटा डेटाबेस मॉड्यूल का इस्तेमाल करने के लिए, इसे true पर सेट करें. इस विकल्प को सेट करने पर, कोटा सिर्फ़ उन Edge Microgateway इंस्टेंस के लिए सीमित हो जाता है जो 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 Microgateway एक कोटा आइडेंटिफ़ायर बनाता है. यह "appName + productName" का कॉम्बिनेशन होता है.
कोटा प्लगिन की जांच करना
कोटा खत्म होने पर, क्लाइंट को एचटीटीपी 403 स्टेटस दिखाया जाता है. साथ ही, यह मैसेज दिखता है:
{"error": "exceeded quota"}स्पाइक अरेस्ट और कोटा में क्या अंतर है?
यह ज़रूरी है कि आप अपने काम के लिए सही टूल चुनें. कोटा नीतियां, अनुरोध मैसेज की संख्या कॉन्फ़िगर करती हैं. इससे यह तय होता है कि क्लाइंट ऐप्लिकेशन, एक घंटे, दिन, हफ़्ते या महीने में एपीआई को कितने अनुरोध मैसेज सबमिट कर सकता है. कोटा नीति, क्लाइंट ऐप्लिकेशन पर खपत की सीमाएं लागू करती है. इसके लिए, यह एक डिस्ट्रिब्यूटेड काउंटर बनाए रखती है, जो आने वाले अनुरोधों की गिनती करता है.
कोटा नीति का इस्तेमाल, डेवलपर और पार्टनर के साथ कारोबारी समझौते या एसएलए लागू करने के लिए करें. इसका इस्तेमाल, ऑपरेशनल ट्रैफ़िक मैनेज करने के लिए न करें. उदाहरण के लिए, किसी कोटे का इस्तेमाल, बिना शुल्क वाली सेवा के लिए ट्रैफ़िक को सीमित करने के लिए किया जा सकता है. वहीं, पैसे चुकाकर सेवा इस्तेमाल करने वाले लोगों को पूरा ऐक्सेस दिया जा सकता है.
एपीआई ट्रैफ़िक में अचानक होने वाली बढ़ोतरी से बचने के लिए, स्पाइक अरेस्ट का इस्तेमाल करें. आम तौर पर, स्पाइक अरेस्ट का इस्तेमाल संभावित DDoS या अन्य नुकसान पहुंचाने वाले हमलों को रोकने के लिए किया जाता है.