एंटीपैटर्न: कस्टम कोड का इस्तेमाल करके या टारगेट के तौर पर प्रॉक्सी में प्रॉक्सी शुरू करें

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

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

एंटीपैटर्न

टारगेट एंडपॉइंट में HTTPTargetConnection का इस्तेमाल करके एक एपीआई प्रॉक्सी को दूसरे से शुरू करना या कस्टम JavaScript कोड से नेटवर्क में अतिरिक्त बढ़ोतरी होती है.

HTTPTargetConnection का इस्तेमाल करके प्रॉक्सी 1 से प्रॉक्सी 2 शुरू करें

नीचे दिया गया कोड सैंपल, HTTPTargetConnection का इस्तेमाल करके प्रॉक्सी 1 से प्रॉक्सी 2 को शुरू करता है:

<!-- /antipatterns/examples/2-1.xml -->
<HTTPTargetConnection>
  <URL>http://myorg-test.apigee.net/proxy2</URL>
</HTTPTargetConnection>

JavaScript कोड की मदद से, प्रॉक्सी 1 की मदद से प्रॉक्सी 2 को शुरू करें

कोड का अगला सैंपल, JavaScript का इस्तेमाल करके प्रॉक्सी 1 से प्रॉक्सी 2 को शुरू करता है:

<!-- /antipatterns/examples/2-2.xml -->
var response = httpClient.send('http://myorg-test.apigee.net/proxy2);
response.waitForComplete();

कोड फ़्लो

यह समझने के लिए कि इससे इस दिशा में कम नुकसान क्यों है, हमें अनुरोध के रूट को समझना होगा इसे नीचे दिए गए डायग्राम में दिखाया गया है:

पहली इमेज: कोड फ़्लो

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

ऊपर दिए गए कोड सैंपल में, प्रॉक्सी 1 से प्रॉक्सी 2 को शुरू करने का मतलब है कि अनुरोध को रूट किया जाना चाहिए रनटाइम के दौरान पारंपरिक रास्ते (जैसे राऊटर > एमपी) से होकर गुज़रें. यह एपीआई को शुरू करने जैसा होगा इस तरह, कई नेटवर्क हॉप करते हैं. इससे इंतज़ार का समय बढ़ जाता है. ये हॉप हैं यह इसलिए ज़रूरी नहीं है, क्योंकि प्रॉक्सी 1 का अनुरोध पहले ही "पहुंच गया है" सांसद

असर

एक एपीआई प्रॉक्सी को दूसरे एपीआई प्रॉक्सी से इस्तेमाल करने पर, बेवजह नेटवर्क हॉप होता है. इसका मतलब है कि अनुरोध को एक मैसेज प्रोसेसर से दूसरे मैसेज प्रोसेसर को भेजना ज़रूरी है.

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

  • प्रॉक्सी चेन का इस्तेमाल करें एक एपीआई प्रॉक्सी को दूसरे से शुरू करने की सुविधा. प्रॉक्सी चेन बनाना क्योंकि यह टारगेट एंडपॉइंट (एक और एपीआई प्रॉक्सी) का रेफ़रंस देने के लिए लोकल कनेक्शन का इस्तेमाल करता है.

    कोड सैंपल, आपके एंडपॉइंट में LocalTargetConnection का इस्तेमाल करके प्रॉक्सी चेन दिखाता है परिभाषा:

    <!-- /antipatterns/examples/2-3.xml -->
    <LocalTargetConnection>
      <APIProxy>proxy2</APIProxy>
      <ProxyEndpoint>default</ProxyEndpoint>
    </LocalTargetConnection>
    

    शुरू किया गया एपीआई प्रॉक्सी, उसी मैसेज प्रोसेसर में चलाया जाता है; इस वजह से, यह नेटवर्क हॉप, जैसा कि नीचे दिए गए डायग्राम में दिखाया गया है:

    दूसरी इमेज: प्रॉक्सी चेन के साथ कोड फ़्लो

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