מופעים הם יחידות החישוב שבהן App Engine משתמש כדי לשנות את גודל האפליקציה באופן אוטומטי. בכל רגע נתון, האפליקציה יכולה לפעול במופע אחד או בכמה מופעים, והבקשות מתחלקות בין כל המופעים.
המופעים שלכם עם שינוי גודל ידני אמורים לפעול ללא הגבלת זמן, אבל אין ערובה לזמן פעולה רציף כי המופעים יכולים להיסגר מוקדם בגלל כשלים או להיות מופעלים מחדש לצורך עדכונים. יכולות להיות תקלות בחומרה או בתוכנה שיגרמו לסיום מוקדם או להפעלה מחדש לעיתים קרובות, בלי אזהרה מוקדמת, ויכול להיות שייקח הרבה זמן לפתור אותן.
יכול להיות שכל המקרים הגמישים יופעלו מחדש על בסיס שבועי אם יש עדכונים זמינים. התזמון הזה לא מובטח. במהלך ההפעלה מחדש, עדכונים קריטיים שתואמים לאחור נפרסים באופן אוטומטי במערכת ההפעלה הבסיסית. תמונת האפליקציה שלכם תישאר זהה בכל ההפעלות מחדש.
בדיקת תקינות
App Engine שולח בקשות תקופתיות לבדיקת תקינות כדי לוודא שמופע פועל, וכדי לבדוק שהוא הופעל במלואו ומוכן לקבל בקשות נכנסות. בדיקות התקינות האלה מופעלות כברירת מחדל, והן נקראות בדיקות תקינות מפוצלות. מופע שמקבל בדיקת תקינות חייב להשיב לבדיקה בתוך מרווח זמן מוגדר.
אם אתם צריכים להרחיב את התנהגות ברירת המחדל של בדיקות תקינות מפוצלות באפליקציה שלכם, אתם יכולים להתאים אישית את הקובץ app.yaml כדי להגדיר שני סוגים של בדיקות תקינות:
- בדיקות פעילות מזהות שמכונה וירטואלית והקונטיינר שלה פועלים. אם מכונה וירטואלית נכשלת בבדיקת הפעילות, היא מופעלת מחדש באופן אוטומטי. בדיקות החיות עלולות להיכשל בגלל ערכי הסף ומרווחי הזמן שהוגדרו, או בגלל קריסת הקונטיינר.
- בדיקות מוכנות מזהות שמכונה וירטואלית מוכנה לקבל בקשות נכנסות. אם מופע של מכונה וירטואלית נכשל בבדיקת המוכנות, זה אומר שהמופע לא סיים את ההפעלה שלו והוא לא מוכן לקבל בקשות. אם המכונה הווירטואלית עוברת את בדיקת המוכנות ומסיימת את ההפעלה, היא מתווספת למאגר המכונות הווירטואליות הזמינות.
מידע נוסף על התנהגויות של בדיקות תקינות מפוצלות זמין במדריך מעבר לבדיקות תקינות מפוצלות.
במהלך בדיקות התקינות האלה, היומנים של App Engine יכולים להראות שהמכונה נמצאת באחד מהמצבים הבאים:
- תקין. המופע קיבל את הבקשות לבדיקת תקינות ומעבד את הבקשות. סטטוס תקין מציין שיש במופע יותר מ-820MB של שטח דיסק פנוי, והוא אמור להגיב לבדיקת תקינות עם קוד סטטוס של HTTP
200. - לא תקין. המופע דחה את בקשות בדיקת התקינות ולא הגיב למספר מסוים של בקשות בדיקת תקינות רצופות. App Engine ממשיך לשלוח בקשות בדיקת תקינות ומפעיל מחדש את המופע אם מופע לא תקין ממשיך לא להגיב למספר מסוים של בדיקות תקינות רצופות.
- Lameduck. המכונה מתוזמנת לכיבוי או להפעלה מחדש.
במהלך השבתות, המופע מסיים את הבקשות הפעילות ומסרב לבקשות חדשות. האפליקציה מחזירה קוד
503כדי לציין שהמופע לא יכול לטפל בבקשות. לפני שמכבים או מפעילים מחדש את המופע, לסקריפט הכיבוי יש פרק זמן מוגבל לפעולה, ואי אפשר להגדיר אותו כך שיהיה קצר או ארוך יותר. - App Lameduck. המכונה מתכוננת לטפל בתנועה באתר. האפליקציה מחזירה קוד
503כדי לציין שהמופע לא יכול לטפל בבקשות. כשמכונה וירטואלית מסיימת את ההפעלה ומוכנה לטפל בתנועה, היא הופכת לזמינה ומעבדת בקשות. אם מופע של מכונה וירטואלית לא מופעל בזמן, המופע משתנה למצב לא תקין ומוסר.
ההתנהגויות של lameduck ו-app lameduck הן חלק מתהליך רגיל שמופע מכונה וירטואלית עובר.
מעקב אחרי השימוש במשאבים
בדף Instances בGoogle Cloud מסוף אפשר לראות את הביצועים של המופעים. אפשר לראות את השימוש בזיכרון ובמעבד של כל מופע, את זמן הפעולה, את מספר הבקשות ונתונים סטטיסטיים אחרים. אפשר גם להפעיל ידנית את תהליך הכיבוי של כל מופע.
פרוטוקול NTP עם סביבה גמישה של App Engine
בסביבה הגמישה של App Engine יש שירותים של פרוטוקול זמן רשת (NTP) שמשתמשים בשרתי Google NTP. עם זאת, אי אפשר לערוך את שירותי ה-NTP בסביבה הגמישה.
מיקום המכונה
המיקום של המופעים נקבע אוטומטית לפי האזור הגיאוגרפי בהתאם להגדרות הפרויקט.
שינוי גודל המכונה
בזמן שאפליקציה פועלת, בקשות נכנסות מנותבות למופע קיים או למופע חדש של השירות או הגרסה המתאימים. לכל גרסה פעילה צריך להיות לפחות מופע אחד שפועל, וסוג ההתאמה של שירות או גרסה קובע איך נוצרים מופעים נוספים. אתם מציינים את סוג ההתאמה בקובץ app.yaml של האפליקציה. כברירת מחדל, האפליקציה משתמשת בהתאמה אוטומטית, כלומר App Engine ינהל את מספר המופעים הלא פעילים.
- התאמה אוטומטית לעומס
- התאמה אוטומטית לעומס יוצרת מכונות על סמך קצב הבקשות, זמן הטעינה של התגובות, ומדדים אחרים של האפליקציה. אפשר לציין ערכי סף לכל אחד מהמדדים האלה, וגם מספר מינימלי של מכונות שימשיכו לפעול בכל זמן נתון, על ידי הגדרת הרכיב
automatic_scaling.
- שינוי גודל ידני
- בשינוי גודל ידני מציינים את מספר המופעים שפועלים באופן רציף, ללא קשר לרמת העומס. כך אפשר לבצע משימות כמו הפעלות מורכבות של אפליקציות שמסתמכות על מצב הזיכרון לאורך זמן.
ניהול שירותים
בהתאם לסוג ההתאמה לגודל של המופע, אפשר לנהל שירותים וגרסאות במסוף Google Cloud או ב-Google Cloud CLI.
הפסקת גרסה
כל גרסה ב-App Engine פועלת במופע אחד או יותר, בהתאם לכמות התנועה שהגדרתם שהיא תטפל בה.
כדי לקבל הוראות לשימוש בכלי הרצוי, לוחצים על הכרטיסייה הרלוונטית:
המסוף
כדי להפסיק או להשבית גרסה של השירות:
נכנסים לדף Versions של App Engine במסוף Google Cloud :
בוחרים גרסה מהטבלה ולוחצים על הפסקה.
gcloud
מריצים את הפקודה הבאה:
gcloud app versions stop --service=SERVICE VERSION
מחליפים את:
- SERVICE בשם של השירות.
- VERSION בשם הגרסה של השירות.
מחק שירות
אפשר להגדיר כל שירות כך שישתמש בסביבות זמן ריצה שונות ויפעל עם הגדרות ביצועים שונות. אי אפשר למחוק את שירות ברירת המחדל. מחיקת שירות גורמת גם למחיקה של כל הגרסאות הנלוות שלו בפרויקט.
כדי לקבל הוראות לשימוש בכלי הרצוי, לוחצים על הכרטיסייה הרלוונטית:
המסוף
כדי למחוק שירות:
נכנסים לדף Services של App Engine במסוף Google Cloud :
בוחרים שירות מהטבלה ולוחצים על מחיקה.
gcloud
מריצים את הפקודה הבאה:
gcloud app services delete SERVICE
מחליפים את:
- SERVICE בשם של השירות.