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

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

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

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

نموذج سلبي

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

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

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

التأثير

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

أفضل ممارسة

  • لا تحاول الوصول إلى الحمولة المطلوبة أو الحمولة المرسَلة عندما يكون البث مفعّلاً.

مراجع إضافية