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.