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

כרגע מוצג התיעוד של Apigee Edge.
כניסה למסמכי התיעוד של Apigee X.
מידע

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

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

דוגמת עיצוב

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

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

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

שני תרשימי זרימה.
  אחת בגודל<=256KB, שמציגה זרימה בין שרת proxy של API לבין מעבדי הודעות
 וזרימה בין מעבדי הודעות לבין מטמון L2 של אחסון מתמיד (persistent disk). אחת בגודל של יותר מ-256KB, שמציגה
 זרימה בין שרת ה-API של ממשק ה-API לבין מעבדי ההודעות, ומובילה בין מעבדי ההודעות לבין הנתונים/תגובה שלא מאוחסנים במטמון L2.

השפעה

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

שיטה מומלצת

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

      OR

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

קריאה נוספת