एंटीपैटर्न: इस्तेमाल नहीं किए गए NodeJS एपीआई प्रॉक्सी को डिप्लॉय करें

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

Apigee Edge की सबसे खास और काम की सुविधाओं में से एक यह है कि इसमें NodeJS ऐप्लिकेशन को एपीआई प्रॉक्सी में रैप किया जा सकता है. इससे डेवलपर, Edge का इस्तेमाल करके इवेंट-ड्रिवन सर्वर-साइड ऐप्लिकेशन बना सकते हैं.

ऐंटीपैटर्न

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

NodeJS API प्रॉक्सी के मामले में, इसका असर और भी ज़्यादा होता है.

यह प्लैटफ़ॉर्म, डिप्लॉय की गई हर NodeJS API प्रॉक्सी के लिए “Node ऐप्लिकेशन” लॉन्च करता है. Node ऐप्लिकेशन, Message Processor JVM प्रोसेस पर मौजूद स्टैंडअलोन नोड सर्वर इंस्टेंस की तरह होता है.

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

इस्तेमाल की गई प्रॉक्सी इस्तेमाल नहीं की गई प्रॉक्सी
# प्रॉक्सी # डिप्लॉय किए गए एनवायरमेंट # nodeapps Launched # प्रॉक्सी # डिप्लॉय किए गए एनवायरमेंट # नोड ऐप्लिकेशन लॉन्च किए गए
10 dev, test, prod (3) 10x3=30 12 dev, test, prod (3) 12x3=36

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

असर

  • मेमोरी का ज़्यादा इस्तेमाल और ऐप्लिकेशन की, आगे के अनुरोधों को प्रोसेस करने की क्षमता पर कैस्केडिंग इफ़ेक्ट
  • एपीआई प्रॉक्सी की परफ़ॉर्मेंस पर असर पड़ सकता है, जो असल में ट्रैफ़िक को मैनेज कर रही हैं

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

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

इस बारे में और पढ़ें