שמירה במטמון באמצעות המטמון המובנה של Cloud Storage

בדף הזה נסביר על המטמון המובנה של Cloud Storage. ‫Cloud Storage תואם גם לרשתות CDN של צד שלישי.

סקירה כללית

אתם יכולים לשלוט בשמירת המטמון של האובייקטים ב-Cloud Storage כדי לשפר את הביצועים של האפליקציה ולשמור על עדכניות התוכן. שמירת נתוני אובייקט במטמון מאפשרת לשמור עותקים של הנתונים במטמון של Google או במטמון באינטרנט, וכך להאיץ בקשות עתידיות לקריאת נתונים. ‫Cloud Storage מציע שמירה מובנית במטמון שמתנהגת כמו CDN. אתם יכולים לנהל את השמירה המובנית במטמון באמצעות המטא-נתונים של Cache-Control, שקובעים איך ולמשך כמה זמן המטמון ישמור את האובייקטים.

כדי לקבל שליטה מתקדמת יותר, אפשר לעיין במידע על Anywhere Cache.

שמירה במטמון באמצעות Anywhere Cache

‫Anywhere Cache הוא מטמון קריאה אזורי בניהול מלא, שתמיד עקבי ומגובה ב-SSD. אפשר ליצור אותו באותם אזורים שבהם נמצאים עומסי העבודה ב-Compute. הזיכרונות מטמון משמשים להאצת הצגת נתונים עבור עומסי עבודה גדולים שדורשים הרבה נתונים. על נתונים שנקראים ממטמון נגבים דמי העברת נתונים מופחתים בהשוואה לנתונים שנקראים ישירות מקטגוריות מרובות אזורים, וכך אפשר לבצע אופטימיזציה של העלויות.

מידע נוסף זמין במאמר בנושא Anywhere Cache.

שמירה מובנית במטמון ל-Cloud Storage

‫Cloud Storage יכול להתנהג כמו רשת להעברת תוכן (CDN) ללא כל עבודה מצידכם, כי הנתונים של אובייקט נשמרים במטמון ברשת של Cloud Storage אם המטא-נתונים Cache-Control שלו מוגדרים כך שניתן לשמור במטמון, ומתקיימים הקריטריונים הבאים:

‫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 Deny מגבילה רק משתמשים פרטיים, השמירה במטמון המובנית נשארת מופעלת לאובייקט.

שיקולי ביצועים

הביצועים יכולים להיות טובים יותר לאובייקטים שאפשר לשמור במטמון ציבורי. אם יש אובייקט שמשמש לשליטה בלקוחות רבים, ורוצים להשבית את השמירה במטמון כדי לספק את הנתונים העדכניים ביותר:

  • אפשר במקום זאת, להגדיר את המטא-נתונים של Cache-Control של האובייקט כ-public עם max-age של 15-60 שניות. רוב האפליקציות יכולות להתמודד עם מצב לא עדכני של אובייקט למשך מספר שניות, תמורת שיפורים בביצועים.

  • משתמשים ב-Cache-Control: no-store באובייקט כדי לציין שאסור לשמור את האובייקט במטמון בשביל בקשות נוספות.

המאמרים הבאים