פרוס יישום אתחול קפיצי ל- Google App Engine

1. סקירה כללית

במדריך זה נראה כיצד לפרוס יישום מ- Bootstrap שלנו יישום פשוט באמצעות מדריך Spring Boot לאפליקציית מנוע ב- Google Cloud Platform.

כחלק מכך אנו:

  • הגדר את התצורה של Google Cloud Platform ו- SDK
  • השתמש בענן SQL כדי ליצור מופע MySQL
  • הגדר את היישום עבור GCP של Spring Cloud
  • פרוס את היישום ל- App Engine ובדוק אותו

2. תצורת פלטפורמת הענן של גוגל

אנו יכולים להשתמש במסוף GCP כדי להכין את הסביבה המקומית שלנו ל- GCP. אנו יכולים למצוא את תהליך ההתקנה באתר הרשמי.

בואו ניצור פרויקט ב- GCP באמצעות מסוף GCP:

gcloud init

לאחר מכן, בואו להגדיר את שם הפרויקט:

פרויקט הגדרת תצורת gcloud baeldung-spring-boot-bootstrap

לאחר מכן נתקין את התמיכה של App Engine וניצור מופע של App Engine:

רכיבי gcloud להתקין app-engine-java gcloud app ליצור

היישום שלנו יצטרך להתחבר למסד נתונים של MySQL בסביבת Cloud SQL. מכיוון ש- Cloud SQL אינו מספק שכבה חינמית נצטרך לאפשר חיוב בחשבון GCP.

אנו יכולים לבדוק שכבות זמינות בקלות:

רשימת שכבות gcloud 

לפני שנמשיך, עלינו להשתמש באתר GCP כדי להפעיל את ממשק ה- API של ניהול SQL Cloud.

כעת אנו יכולים ליצור מופע ומסד נתונים של MySQL בענן SQL באמצעות מסוף הענן או ה- SDK CLI. במהלך תהליך זה נבחר את האזור ונספק שם מופע ושם מסד נתונים. חשוב שהאפליקציה ומופע מסד הנתונים יהיו באותו אזור.

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

# צור מופע gcloud sql מופעים צור \ baeldung-spring-boot-bootstrap-db \ --tier = db-f1-micro \ --region = europe-west2 # צור מסד נתונים gcloud SQL בסיסי נתונים \ baeldung_bootstrap_db \ ​​--instance = baeldung -spring-boot-bootstrap-db

3. תלויות GCP בענן האביב

היישום שלנו יצטרך תלות מפרויקט GCP של Spring Cloud עבור ממשקי ה- API המקוריים לענן. לשם כך, נשתמש בפרופיל Maven בשם ענן- gcp:

 ענן-gcp org.springframework.cloud אביב-ענן-gcp-starter 1.0.0.RELEASE org.springframework.cloud spring-cloud-gcp-starter-sql-mysql 1.0.0.RELEASE 

לאחר מכן אנו מוסיפים את תוסף App Engine Maven:

    com.google.cloud.tools appengine-maven-plugin 1.3.2 

4. תצורת יישום

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

שימוש בענן GCP באביב spring-cloud-bootstrap.properties לקביעת שם הבקשה:

spring.cloud.appId = baeldung-spring-boot-bootstrap

נשתמש בפרופיל אביב בשם gcp עבור פריסה זו ונצטרך להגדיר את חיבור מסד הנתונים. לכן אנו יוצרים src / main / resources / application-gcp.properties:

spring.cloud.gcp.sql.instance-connection-name = \ baeldung-spring-boot-bootstrap: europe-west2: baeldung-spring-boot-bootstrap-db spring.cloud.gcp.sql.database-name = baeldung_bootstrap_db

5. פריסה

מנוע האפליקציות של גוגל מספק שתי סביבות Java:

  • ה תֶקֶן הסביבה מספקת Jetty ו- JDK8 ואת ה- גָמִישׁ הסביבה מספקת רק JDK8 ו-
  • הסביבה הגמישה היא האפשרות הטובה ביותר ליישומי Spring Boot.

אנו דורשים את gcp ו mysql פרופילי אביב להיות פעילים, לכן אנו מספקים את SPRING_PROFILES_ACTIVE משתנה סביבתי ליישום על ידי הוספתו לתצורת הפריסה ב- src / main / appengine / app.yaml:

זמן ריצה: java env: flex runtime_config: jdk: openjdk8 env_variables: SPRING_PROFILES_ACTIVE: "gcp, mysql" מטפלים: - url: /.* סקריפט: שדה זה נדרש, אך התעלם מכיווני ידני: מקרים: 1

עַכשָׁיו, בואו נבנה ונפרוס את היישום באמצעות appengine תוסף maven:

mvn נקי חבילה appengine: לפרוס -P ענן- gcp

לאחר הפריסה אנו יכולים להציג או לזנב קבצי יומן רישום:

# צפה ביומני אפליקציית gcloud קרא # זנב יומן אפליקציית gcloud

עַכשָׁיו, בואו נוודא שהיישום שלנו עובד על ידי הוספת ספר:

http POST //baeldung-spring-boot-bootstrap.appspot.com/api/books \ author = "Iain M. Banks" 

מצפה לפלט הבא:

HTTP / 1.1 201 {"author": "Iain M. Banks", "id": 1, "title": "The Player of Games"}

6. שינוי גודל היישום

קנה המידה של ברירת המחדל ב- App Engine הוא אוטומטי.

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

# משאבי משאבי יישום: מעבד: 2 זיכרון_גב: 2 דיסק_גודל_גב: 10 אמצעי אחסון: - שם: ramdisk1 נפח_סוג: tmpfs size_gb: 0.5 # קנה מידה אוטומטי של קנה מידה: min_num_instances: 1 max_num_instances: 4 cool_down_period_sec: 180 cpu_utilization: target_utilization:

7. מסקנה

במדריך זה אנו:

  • הוגדרה פלטפורמת הענן של Google ומנוע האפליקציות
  • יצר מופע של MySQL באמצעות Cloud SQL
  • הוגדר GCP Spring Cloud לשימוש MySQL
  • פרסנו את היישום Spring Boot שהוגדר לנו, וכן
  • נבדק ומוגדל היישום

תמיד נוכל לעיין בתיעוד הנרחב של Google App Engine לקבלת פרטים נוספים.

קוד המקור השלם של הדוגמאות שלנו כאן, כמו תמיד, הסתיים ב- GitHub.


$config[zx-auto] not found$config[zx-overlay] not found