הגדרת האפליקציה באמצעות app.yaml

אפליקציית App Engine מוגדרת באמצעות קובץ app.yaml, שמכיל משאבי מעבד, זיכרון, רשת וכונן, קנה מידה והגדרות כלליות אחרות, כולל משתני סביבה.

app.yaml קבצים בקירוב

אפשר לציין את הגדרות סביבת זמן הריצה של אפליקציית Java, כולל גרסאות וכתובות URL, בקובץ app.yaml. הקובץ הזה משמש כקובץ תיאור פריסה של גרסה ספציפית של שירות.

קודם צריך ליצור את הקובץ app.yaml לשירות default של האפליקציה, לפני שיוצרים ומפעילים קבצים מסוג app.yaml לשירותים נוספים.

בדוגמה הבאה של app.yaml אפשר לראות איך מגדירים את האפליקציה לשימוש בגרסה העדכנית ביותר של Java. מידע נוסף על שימוש בסביבות ריצה נתמכות של Java זמין במאמר בנושא סביבת ריצה של Java.

runtime: java
env: flex
runtime_config:
  operating_system: "ubuntu24"
  runtime_version: "25"

manual_scaling:
  instances: 1

בהתאם למורכבות השירות של האפליקציה, יכול להיות שתצטרכו להגדיר רק כמה רכיבים בקובץ app.yaml המתאים. בדוגמה הבאה אפשר לראות מה נדרש מאפליקציית Java פשוטה בסביבה גמישה:

אתם יכולים לציין שם ייחודי לקובצי app.yaml, אבל אז תצטרכו לציין את שם הקובץ גם בפקודת הפריסה. לדוגמה, אם קובץ app.yaml נקרא service-name-app.yaml או app.flexible.yaml, תצטרכו לפרוס את האפליקציה באמצעות אחת מהאפשרויות הבאות:

gcloud app deploy service-name-app.yaml
gcloud app deploy app.flexible.yaml
מידע נוסף על מבנה של כמה שירותים וקבצים של app.yaml באפליקציה זמין במאמר מבנה של שירותי אינטרנט.

כל רכיבי ההגדרה

רשימה מלאה של כל הרכיבים הנתמכים בקובץ ההגדרות הזה זמינה בחומר העזר בנושא app.yaml.

הפעלת איסוף מדדים של מכונה וירטואלית של Java

אתם יכולים להגדיר את הסביבה הגמישה של App Engine ל-Java כדי לאסוף מדדים נפוצים לתהליכים של מכונה וירטואלית (JVM) של Java. המדדים נאספים באמצעות אותו תוסף למעקב אחרי JVM שבו משתמש Cloud Monitoring. רשימה מלאה של המדדים של App Engine מופיעה במדריך למדדים של Google Cloud.

אם רוצים לאסוף את מדדי ה-JVM הבאים עבור האפליקציה:

  • appengine.googleapis.com/flex/instance/jvm/gc/count
  • appengine.googleapis.com/flex/instance/jvm/gc/time

תצטרכו להגדיר את מאפייני המערכת הבאים של JMX במשתני הסביבה ב-app.yaml ולפרוס את האפליקציה.

JAVA_USER_OPTS: "-Djava.rmi.server.hostname=172.17.0.1 -Dcom.sun.management.jmxremote.port=10403 -
Dcom.sun.management.jmxremote.rmi.port=10403 -Dcom.sun.management.jmxremote.local.only=false -
Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"