אנטי-דפוס: גישה למטען הייעודי (payload) של הבקשה/התשובה כאשר הסטרימינג מופעל

אתם צופים במסמכי התיעוד של Apigee Edge.
כדאי לעיין במסמכי התיעוד של Apigee X.
מידע

ב-Edge, התנהגות ברירת המחדל היא שמטעני נתונים של בקשות ותשובות HTTP מאוחסנים במאגר בזיכרון לפני שהם מעובדים על ידי כללי המדיניות ב-API Proxy.

אם הסטרימינג מופעל, מטען הייעודי (payload) של הבקשה והתגובה מועבר בסטרימינג ללא שינוי לאפליקציית הלקוח (עבור תגובות) ולנקודת הקצה של היעד (עבור בקשות). סטרימינג שימושי במיוחד אם אפליקציה מקבלת או מחזירה נתונים גדולים, או אם יש אפליקציה שמחזירה נתונים במקטעים לאורך זמן.

תבנית אנטי

אם מנסים לגשת למטען הייעודי (payload) של הבקשה או התגובה כשהסטרימינג מופעל, Edge חוזר למצב ברירת המחדל של אחסון בזיכרון המטמון.

איור 1: גישה למטען הייעודי (payload) של בקשה/תגובה עם הפעלת סטרימינג

באיור שלמעלה אפשר לראות שאנחנו מנסים לחלץ משתנים ממטען הייעודי (payload) של הבקשה ולהמיר את מטען הייעודי של תגובת ה-JSON ל-XML באמצעות מדיניות JSONToXML. הפעולה הזו תשבית את הסטרימינג ב-Edge.

השפעה

  • הסטרימינג יושבת, מה שעלול להוביל לזמני אחזור ארוכים יותר בעיבוד הנתונים
  • עלייה בשימוש בזיכרון הערימה או שגיאות OutOfMemory יכולות להופיע ב-Message Processors בגלל שימוש במאגרי מידע בזיכרון, במיוחד אם יש לנו מטען ייעודי גדול של בקשות או תגובות

שיטה מומלצת

  • אל תיגשו למטען הייעודי (payload) של הבקשה או התגובה כשהסטרימינג מופעל.

קריאה נוספת