אפליקציית 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/countappengine.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"