אנטי-תבנית: אחסון נתונים בגודל של יותר מ-256KB במטמון

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

ב-Apigee Edge אפשר לאחסן נתונים במטמון בזמן הריצה כדי לשמור אותם ולאחזר אותם מהר יותר.

  • הנתונים מאוחסנים בהתחלה במטמון בזיכרון של מעבד ההודעות, שנקרא מטמון L1.
  • המטמון L1 מוגבל בכמות הזיכרון ששמורה לו כאחוז מזיכרון ה-JVM.
  • הערכים שנשמרו במטמון נשמרים בהמשך במטמון L2, שזמין לכל מעבדי ההודעות. פרטים נוספים מופיעים בהמשך.
  • אין הגבלה קשיחה על מספר הערכים במטמון L2, אבל הגודל המקסימלי של הערך שאפשר לשמור במטמון מוגבל ל-256KB. גודל המטמון של 256KB הוא הגודל המומלץ לביצועים אופטימליים.

תבנית אנטי

האנטי-דפוס הזה מתייחס להשלכות של חריגה מהמגבלות הנוכחיות על גודל המטמון בפלטפורמת Apigee Edge.

כשנתונים בגודל של יותר מ-256KB נשמרים במטמון, התוצאות הן:

  • כשמבצעים בקשות API בפעם הראשונה בכל אחד ממעבדי ההודעות, צריך לקבל את הנתונים באופן עצמאי מהמקור המקורי (מדיניות או שרת יעד), כי רשומות בגודל > 256KB לא זמינות במטמון L2.
  • אחסון של נתונים גדולים יותר (מעל 256KB) במטמון L1 עלול להעמיס יותר על משאבי הפלטפורמה. כתוצאה מכך, זיכרון המטמון L1 מתמלא מהר יותר, ולכן יש פחות מקום לנתונים אחרים. כתוצאה מכך, לא ניתן לשמור את הנתונים במטמון בצורה אגרסיבית כמו שהייתם רוצים.
  • רשומות שנשמרו במטמון ממעבדי ההודעות יוסרו כשהמגבלה על מספר הרשומות תושג. כתוצאה מכך, הנתונים נמשכים שוב ממקור הנתונים המקורי במעבדי ההודעות המתאימים.

שתי דיאגרמות של תרשימי זרימה.
  אחד לגודל של ‎<=256KB שמציג את התנועה בין API Proxy לבין Message Processors
  ואת התנועה בין Message Processors לבין Persistent Storage L2 Cache. אחד לגודל>256KB שמציג זרימות בין API Proxy לבין Message Processors וזרימות בין Message Processors לבין Data/Response שלא מאוחסנות ב-L2 Cache.

השפעה

  • נתונים בגודל > 256KB לא יאוחסנו במטמון L2 או במטמון קבוע.
  • קריאות תכופות יותר למקור המקורי (כלל מדיניות או שרת יעד) מובילות לזמני אחזור ארוכים יותר לבקשות ה-API.

שיטה מומלצת

  • מומלץ לאחסן במטמון נתונים בגודל של פחות מ-256KB כדי להשיג ביצועים אופטימליים.
  • אם יש צורך באחסון נתונים בגודל של יותר מ-256KB, כדאי לשקול את האפשרויות הבאות:
    • שימוש במסד נתונים מתאים לאחסון נתונים גדולים

      OR

    • דחיסת הנתונים

קריאה נוספת