בדף הזה נסביר על המטמון המובנה של Cloud Storage. Cloud Storage תואם גם לרשתות CDN של צד שלישי.
סקירה כללית
כדי לשפר את ביצועי האפליקציה ולשמור על תוכן עדכני, אתם יכולים לשלוט בשמירה במטמון של האובייקטים ב-Cloud Storage. כששומרים נתוני אובייקטים במטמון, עותקים של הנתונים נשמרים במטמון של Google או במטמון באינטרנט, וכך בקשות עתידיות לקריאת נתונים מתבצעות מהר יותר. ב-Cloud Storage יש שמירה מובנית במטמון שפועלת כמו CDN. אתם יכולים לנהל את השמירה המובנית במטמון באמצעות המטא-נתונים של Cache-Control, שמגדירים איך ולמשך כמה זמן האובייקטים יישמרו במטמון.
לאמצעי בקרה מתקדמים יותר, אפשר להשתמש ב-Rapid Cache.
שמירה במטמון באמצעות Rapid Cache
Rapid Cache הוא מטמון קריאה אזורי מנוהל לחלוטין, עקבי תמיד ומגובה ב-SSD, שאפשר ליצור באותם אזורים שבהם נמצאים עומסי העבודה שלכם ב-Compute. המטמונים משמשים להאצת הצגת הנתונים לעומסי עבודה גדולים ועתירי נתונים. על נתונים שנקראים ממטמון מחויבות עמלות מופחתות על העברת נתונים בהשוואה לנתונים שנקראים ישירות מקטגוריות בכמה אזורים, וכך אפשר לבצע אופטימיזציה של העלויות.
מידע נוסף זמין במאמר Rapid Cache.
שמירה מובנית במטמון ל-Cloud Storage
Cloud Storage יכול להתנהג כמו רשת להעברת תוכן (CDN) בלי שתצטרכו לעשות שום דבר, כי נתוני האובייקט נשמרים במטמון ברשת של Cloud Storage אם המטא-נתונים של Cache-Control מוגדרים כך שיתאפשר לשמור אותם במטמון, ואם מתקיימים הקריטריונים הבאים:
- האובייקט נגיש באופן ציבורי.
- האובייקט לא מאוחסן בקטגוריה שבה מופעל "מגיש הבקשה משלם", והוא לא נמצא בגבולות גזרה לשירות של ענן וירטואלי פרטי (VPC).
- האובייקט לא מוצפן באמצעות מפתחות הצפנה בניהול הלקוח או מפתחות הצפנה באספקת הלקוח (CSEK).
Cloud Storage מכבד ערכים סטנדרטיים של Cache-Control, כמו:
public: אפשר לשמור את האובייקט במטמון.
private: האובייקט לא יישמר במטמון על ידי Cloud Storage, אבל אפשר לשמור אותו במטמון המקומי של מגיש הבקשה.
no-cache: אפשר לשמור את האובייקט במטמון, אבל אי אפשר להשתמש בו כדי למלא בקשות עתידיות, אלא אם הוא מאומת קודם על ידי Cloud Storage.
no-store: אי אפשר לשמור את האובייקט במטמון.
max-age=TIME_IN_SECONDS: משך הזמן שבו אובייקט יכול להישמר במטמון לפני שהוא נחשב ללא פעיל. אפשר להגדיר אתmax-ageלכל משך זמן שרוצים. אובייקטים לא פעילים מוצגים מהמטמון רק בנסיבות מיוחדות.
כדי להגדיר את המטא-נתונים של Cache-Control לאובייקט, ראו עריכת מטא-נתונים של אובייקט.
התנהגות מובנית של שמירה במטמון עם כללי מדיניות הדחייה של IAM
כשיש מדיניות דחייה של IAM ברמת הארגון שמגבילה את הגישה לקריאה של אובייקט ממזהה חשבון המשתמש allUsers, השמירה המובנית במטמון מושבתת לאובייקט, גם אם יש מדיניות IAM ברמת הקטגוריה שמעניקה גישה לקריאה של האובייקט ל-allUsers.
עם זאת, אם מדיניות הדחייה של IAM מגבילה רק משתמשים ספציפיים, השמירה המובנית במטמון נשארת פעילה לאובייקט.
שיקולי ביצועים
הביצועים יכולים להיות טובים יותר לאובייקטים שאפשר לשמור במטמון ציבורי. אם יש אובייקט שמשמש לשליטה בלקוחות רבים, ורוצים להשבית את השמירה במטמון כדי לספק את הנתונים העדכניים ביותר:
אפשר במקום זאת, להגדיר את המטא-נתונים של
Cache-Controlשל האובייקט כ-publicעםmax-ageשל 15-60 שניות. רוב האפליקציות יכולות להתמודד עם מצב לא עדכני של אובייקט למשך מספר שניות, תמורת שיפורים בביצועים.משתמשים ב-
Cache-Control: no-storeבאובייקט כדי לציין שאסור לשמור את האובייקט במטמון בשביל בקשות נוספות.
המאמרים הבאים
- מידע נוסף על מטא-נתונים של
Cache-Control. - מידע נוסף על הוראות
Cache-Controlשל RFC.