Nasaďte aplikáciu Spring Boot do Google App Engine

1. Prehľad

V tomto tutoriáli si ukážeme, ako nasadiť aplikáciu z nášho Bootstrapu a jednoduchej aplikácie pomocou tutoriálu Spring Boot do App Engine na Google Cloud Platform.

V rámci toho:

  • Nakonfigurujte konzolu Google Cloud Platform a SDK
  • Na vytvorenie inštancie MySQL použite Cloud SQL
  • Nakonfigurujte aplikáciu pre Spring Cloud GCP
  • Nasaďte aplikáciu do App Engine a otestujte ju

2. Konfigurácia platformy Google Cloud Platform

Pomocou konzoly GCP môžeme pripraviť miestne prostredie na GCP. Proces inštalácie nájdeme na oficiálnej webovej stránke.

Vytvorme projekt na GCP pomocou konzoly GCP:

gcloud init

Ďalej nakonfigurujme názov projektu:

konfiguračná sada gcloud projekt baeldung-spring-boot-bootstrap

Potom nainštalujeme podporu App Engine a vytvoríme inštanciu App Engine:

komponenty gcloud nainštalovať app-engine-java, vytvoriť aplikáciu gcloud

Naša aplikácia sa bude musieť pripojiť k databáze MySQL v prostredí Cloud SQL. Pretože Cloud SQL neposkytuje bezplatnú vrstvu, budeme musieť povoliť fakturáciu na účte GCP.

Dostupné úrovne môžeme ľahko skontrolovať:

zoznam úrovní gcloud sql 

Pred pokračovaním by sme mali použiť webovú stránku GCP na povolenie rozhrania Cloud SQL Admin API.

Teraz môžeme vytvoriť inštanciu a databázu MySQL v Cloud SQL pomocou Cloud Console alebo SDK CLI. Počas tohto procesu vyberieme oblasť a poskytneme názov inštancie a názov databázy. Je dôležité, aby sa aplikácia a inštancia databázy nachádzali v rovnakom regióne.

Pretože budeme aplikáciu nasadzovať do európa-západ2, urobme to isté pre príklad:

# vytvoriť inštanciu gcloud sql inštancie create \ baeldung-spring-boot-bootstrap-db \ --tier = db-f1-micro \ --region = europe-west2 # vytvoriť databázu gcloud sql databázy create \ baeldung_bootstrap_db \ ​​--instance = baeldung -jar-boot-bootstrap-db

3. Závislosti Spring Cloud GCP

Naša aplikácia bude pre cloudovo natívne API vyžadovať závislosti z projektu Spring Cloud GCP. Na to použijeme pomenovaný profil Maven cloud-gcp:

 cloud-gcp org.springframework.cloud jar-cloud-gcp-starter 1.0.0.RELEASE org.springframework.cloud jar-cloud-gcp-starter-sql-mysql 1.0.0.RELEASE 

Potom pridáme doplnok App Engine Maven:

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

4. Konfigurácia aplikácie

Teraz definujme konfiguráciu, ktorá umožňuje aplikácii používať cloudové natívne zdroje, ako je databáza.

Spring Cloud GCP používa spring-cloud-bootstrap.properties na určenie názvu aplikácie:

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

Použijeme jarný profil s názvom GCP pre toto nasadenie a budeme musieť nakonfigurovať pripojenie k databáze. Preto tvoríme 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. Nasadenie

Google App Engine poskytuje dve prostredia Java:

  • the Štandardné prostredie poskytuje Jetty a JDK8 a Windows Flexibilné prostredie poskytuje iba JDK8 a
  • flexibilné prostredie je najlepšou voľbou pre aplikácie Spring Boot.

Vyžadujeme GCP a mysql Profily pružín sú aktívne, preto poskytujeme SPRING_PROFILES_ACTIVE environmentálna premenná do aplikácie pridaním do konfigurácie nasadenia v systéme Windows src / main / appengine / app.yaml:

runtime: java env: flex runtime_config: jdk: openjdk8 env_variables: SPRING_PROFILES_ACTIVE: obslužné rutiny „gcp, mysql“: - url: /.* skript: toto pole je povinné, ale ignorované manual_scaling: inštancie: 1

Teraz, Poďme vytvoriť a nasadiť aplikáciu pomocou appengine maven plugin:

mvn clean package appengine: deploy -P cloud-gcp

Po nasadení môžeme prezerať alebo sledovať súbory protokolov:

# zobraziť denníky aplikácií gcloud prečítať # tail denníky aplikácií gcloud na konci

Teraz, overením fungovania našej aplikácie pridaním knihy:

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

Očakáva sa nasledujúci výstup:

HTTP / 1.1 201 {"autor": "Iain M. Banks", "id": 1, "title": "Hráč hier"}

6. Mierka aplikácie

Predvolené nastavenie mierky v App Engine je automatické.

Možno bude lepšie začať s manuálnym škálovaním, kým neporozumieme chodu modulu runtime a súvisiacim rozpočtom a nákladom. Môžeme aplikácii priradiť zdroje a nakonfigurovať automatické škálovanie app.yaml:

# Zdroje zdrojov aplikácie: CPU: 2 memory_gb: 2 disk_size_gb: 10 zväzkov: - názov: ramdisk1 typ_objemu: tmpfs size_gb: 0,5 # automatické škálovanie automatic_scaling: min_num_instances: 1 max_num_instances: 4 cool_down_period_sec: 180 cpu_utilization: target6utilization

7. Záver

V tomto výučbe:

  • Konfigurovaná cloudová platforma Google a App Engine
  • Vytvoril inštanciu MySQL s Cloud SQL
  • Konfigurovaný Spring Cloud GCP na používanie MySQL
  • Nasadili sme našu nakonfigurovanú aplikáciu Spring Boot a
  • Aplikácia bola otestovaná a zmenšená

Ďalšie podrobnosti si môžeme kedykoľvek prečítať v rozsiahlej dokumentácii App Engine od spoločnosti Google.

Kompletný zdrojový kód našich príkladov je tu ako vždy na GitHubu.


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