Antipattern: الوصول إلى حمولة بيانات الطلب/الاستجابة عندما يكون البث مفعَّلاً

أنت الآن بصدد الاطّلاع على مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
info

في Edge، السلوك التلقائي هو تخزين حمولات طلبات واستجابات HTTP في مخزن مؤقت في الذاكرة قبل أن تتم معالجتها بواسطة السياسات في خادم وكيل واجهة برمجة التطبيقات.

في حال تفعيل البث، يتم بث حمولات الطلبات والاستجابات بدون تعديل إلى تطبيق العميل (بالنسبة إلى الاستجابات) ونقطة النهاية المستهدَفة (بالنسبة إلى الطلبات). تكون عملية البث مفيدة خاصةً إذا كان التطبيق يقبل أو يعرض حمولات كبيرة، أو إذا كان هناك تطبيق يعرض البيانات على شكل أجزاء بمرور الوقت.

نمط مضاد

يؤدي الوصول إلى حمولة الطلب/الرد مع تفعيل البث إلى إعادة Edge إلى وضع التخزين المؤقت التلقائي.

الشكل 1: الوصول إلى حمولة الطلب/الرد مع تفعيل البث

يوضح الرسم التوضيحي أعلاه أنّنا نحاول استخراج متغيرات من حمولة الطلب وتحويل حمولة استجابة JSON إلى XML باستخدام سياسة JSONToXML. سيؤدي ذلك إلى إيقاف البث في Edge.

التأثير

  • سيتم إيقاف البث، ما قد يؤدي إلى زيادة وقت الاستجابة عند معالجة البيانات
  • يمكن ملاحظة زيادة في استخدام ذاكرة الكومة أو أخطاء OutOfMemory في "معالجات الرسائل" بسبب استخدام المخازن المؤقتة في الذاكرة، خاصةً إذا كانت لدينا حمولات كبيرة للطلبات/الردود.

أفضل ممارسة

  • عدم الوصول إلى حمولة الطلب/الردّ عند تفعيل البث

محتوى إضافي للقراءة