הדף הזה רלוונטי ל-Apigee ול-Apigee Hybrid.
לעיון במסמכי התיעוד של
Apigee Edge
במאמר הזה מוסבר איך פועל המטמון מתחת למדיניות כמו PopulateCache policy, LookupCache policy, InvalidateCache policy ו-ResponseCache policy.
מידע על מטמונים
כשמדיניות שמירת נתונים במטמון מופעלת, נוצר מטמון L1 עם תוקף קצר. אחרי שנייה אחת, אם לא מתבצעת גישה לפריט במטמון, הוא נשמר במסד נתונים שבו הוא זמין לכל מעבדי ההודעות שנפרסו בסביבה עד שתוקף המטמון פג. אתם מגדירים את תאריך התפוגה ישירות במדיניות שמירת הנתונים במטמון.
רמות של מטמון בזיכרון ומטמון קבוע
גם המטמון המשותף וגם מטמון הסביבה מבוססים על מערכת דו-שכבתית שמורכבת משכבה בזיכרון ושכבה קבועה, כמו שמוצג באיור הבא. כללי המדיניות פועלים בשתי הרמות כחלק ממסגרת משולבת. Apigee מנהל את הקשר בין הרמות.
- רמה 1 היא מטמון בזיכרון (L1) לגישה מהירה. לכל צומת של עיבוד הודעות (MP)
יש מטמון משלו בזיכרון כדי לתת את התגובה המהירה ביותר לבקשות.
- L1 הוא מטמון בזיכרון לזמן קצר (שנייה אחת).
- כשמגיעים למגבלת הזיכרון, Apigee מסיר רשומות מטמון מהזיכרון (אבל הן עדיין נשמרות במטמון L2 מתמשך) כדי לוודא שהזיכרון יישאר זמין לתהליכים אחרים.
- ל-L1 יש מטמון קצר טווח של שנייה אחת כדי לבצע חיפושים מהירים יותר של בקשות בו-זמניות עם אותו מפתח מטמון.
- רמה 2 היא מטמון קבוע (L2) שנמצא מתחת למטמון בזיכרון. כל הצמתים לעיבוד הודעות חולקים מאגר נתונים במטמון (Cassandra) כדי לשמור את רשומות המטמון.
- הערכים במטמון נשמרים כאן גם אחרי שהם מוסרים מהמטמון ברמה 1, למשל כשמגיעים למגבלות של הזיכרון.
- המטמון המתמשך משותף למעבדי ההודעות (גם באזורים שונים), ולכן רשומות המטמון זמינות בלי קשר לצומת שמקבל בקשה לנתונים שבמטמון.
- יכול להיות שרק רשומות בגודל מסוים יישמרו במטמון, ויחולו מגבלות אחרות על המטמון. איך מנהלים את מגבלות המטמון
- תוכן המטמון ברמה L2 מוצפן באמצעות אלגוריתם AES-256. הנתונים מפוענחים לפני שהם בשימוש בזמן הריצה, ומוצפנים לפני שהם נכתבים ב-L2. תהליך ההצפנה לא גלוי למשתמשים.
איך כללי המדיניות משתמשים במטמון
בהמשך מוסבר איך Apigee מטפל בערכים במטמון בזמן שכללי המדיניות של המטמון פועלים.
- כשמדיניות כותבת רשומה חדשה במטמון (מדיניות PopulateCache או ResponseCache):
- Apigee כותב את הרשומה למטמון L1 בזיכרון רק במעבד ההודעות שטיפל בבקשה. אם מגבלות הזיכרון במעבד ההודעות מגיעות לפני שתוקף הרשומה פג, מערכת Apigee מסירה את הרשומה ממטמון L1.
- Apigee גם כותב את הרשומה למטמון L2.
- כשמדיניות קוראת מהמטמון (מדיניות LookupCache או ResponseCache):
- מערכת Apigee מחפשת קודם את הערך במטמון L1 בזיכרון של מעבד ההודעות שמטפל בבקשה.
- אם אין רשומה תואמת בזיכרון, Apigee מחפש את הרשומה במטמון הקבוע L2.
- אם הרשומה לא נמצאת במטמון הקבוע:
- המדיניות LookupCache: לא מתבצע אחזור של ערך מהמטמון.
- מדיניות ResponseCache: Apigee מחזיר את התגובה בפועל מהיעד ללקוח ומאחסן את הרשומה במטמון עד שהיא פגה או נפסלת.
- כשמדיניות מעדכנת או מבטלת רשומה קיימת במטמון (InvalidateCache policy, PopulateCache policy או ResponseCache policy):
- מעבד ההודעות שמקבל את הבקשה מוחק את הרשומה ממטמון L1 בזיכרון של שנייה אחת, וגם מוחק את הרשומה ממטמון L2.
- אחרי עדכון או ביטול תוקף, יכול להיות שמעבדי ההודעות האחרים עדיין יחזיקו במטמון L1 בזיכרון.
- מאחר שתוקף L1 מוגדר לשנייה אחת, לא צריך אירוע מחיקה או עדכון כדי להסיר את הרשומה מ-L1.
ניהול מגבלות מטמון
באמצעות הגדרות, אפשר לנהל חלק מההיבטים של המטמון. הנפח הכולל של המרחב שזמין למטמון בזיכרון מוגבל על ידי משאבי המערכת, ואי אפשר להגדיר אותו. ההגבלות הבאות חלות על מטמון:
- מגבלות מטמון: חלות מגבלות שונות על המטמון, כמו גודל השם והערך, המספר הכולל של מטמונים, מספר הפריטים במטמון ותאריך התפוגה.
-
מטמון בזיכרון (L1). אי אפשר להגדיר את מגבלות הזיכרון של המטמון. המגבלות מוגדרות על ידי Apigee לכל מעבד הודעות שמארח מטמון של כמה לקוחות.
בסביבת ענן מתארחת, שבה מטמונים בזיכרון לכל פריסות הלקוחות מתארחים בכמה מעבדי הודעות משותפים, לכל מעבד יש סף של אחוזים בזיכרון שאפשר להגדיר ב-Apigee כדי לוודא שהמטמון לא צורך את כל הזיכרון של האפליקציה. כשעוברים את הסף של מעבד הודעות מסוים, רשומות במטמון מוצאות מהזיכרון על בסיס השימוש האחרון. רשומות שמוצאות מהזיכרון נשארות במטמון L2 עד שהתוקף שלהן פג או שהן בוטלו.
- מטמון קבוע (L2). רשומות שסולקו מהמטמון בזיכרון נשארות במטמון הקבוע בהתאם להגדרות של אורך החיים (TTL) שאפשר להגדיר.
אופטימיזציות שניתנות להגדרה
בטבלה הבאה מפורטות ההגדרות שבהן אפשר להשתמש כדי לבצע אופטימיזציה של ביצועי מטמון.
| הגדרה | תיאור | הערות |
|---|---|---|
| תפוגה | מציין את אורך החיים (TTL) של רשומות במטמון. | ללא |