एंटीपैटर्न: स्ट्रीमिंग चालू होने पर, अनुरोध/रिस्पॉन्स पेलोड ऐक्सेस करें

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

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

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

एंटीपैटर्न

स्ट्रीमिंग चालू करके अनुरोध/रिस्पॉन्स पेलोड को ऐक्सेस करने से, Edge डिफ़ॉल्ट बफ़रिंग मोड पर वापस चला जाता है.

पहली इमेज: स्ट्रीमिंग चालू करके, अनुरोध/रिस्पॉन्स पेलोड ऐक्सेस करना

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

असर

  • स्ट्रीमिंग बंद हो जाएगी. इस वजह से, डेटा प्रोसेस करने में ज़्यादा समय लग सकता है
  • इन-मेमोरी बफ़र के इस्तेमाल से, मैसेज प्रोसेसर पर हीप मेमोरी के इस्तेमाल या आउटऑफ़ मेमोरी की गड़बड़ियों में बढ़ोतरी देखी जा सकती है. खास तौर पर तब, जब हमारे पास बड़े अनुरोध/रिस्पॉन्स पेलोड हों

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

  • स्ट्रीमिंग की सुविधा चालू होने पर, अनुरोध/रिस्पॉन्स पेलोड को ऐक्सेस न करें.

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