Spring Cloud Gateway létrehozása

Befejeződött

Ebben a modulban létrehozunk egy Spring Cloud Gatewayt, és üzembe helyezzük az Azure Spring Appsben.

Az átjárókkal átirányíthatja a nyilvános HTTP-forgalmat a mikroszolgáltatásokhoz:

  • Ezek kezelik az útválasztási logikát.
  • Biztosítják a mikroszolgáltatásokhoz való hozzáférést, amelyek nem lesznek nyilvánosan elérhetők.
  • Szolgáltatásminőségi (QoS-) funkciókkal is rendelkezhetnek, például korlátozhatják a HTTP-sebességet.

Spring Cloud Gateway létrehozása

Az átjáró létrehozásához a parancssort használjuk https://start.spring.io :

curl https://start.spring.io/starter.tgz -d type=maven-project -d dependencies=cloud-gateway,cloud-eureka,cloud-config-client -d baseDir=todo-gateway -d bootVersion=3.1.5.RELEASE -d javaVersion=17 | tar -xzvf -

Megjegyzés:

A , Eureka Discovery Clientés az Config Client összetevőket használjukCloud Gateway.

Az alkalmazás konfigurálása

Az src/main/resources/application.properties konfigurációs fájlhoz adja hozzá az alábbi tulajdonságot:

spring.main.allow-bean-definition-overriding=true
spring.cloud.gateway.discovery.locator.enabled=true
  • A spring.main.allow-bean-definition-overriding=true rész a Spring Cloud Gateway konfigurálása az Azure Spring Apps ügyfélkódtárában konfigurált Spring Cloud Discovery Server bab használatára.
  • A spring.cloud.gateway.discovery.locator.enabled=true rész a Spring Cloud Gatewayt konfigurálja úgy, hogy a Spring Cloud-szolgáltatás beállításjegyzékével derítse fel a rendelkezésre álló mikroszolgáltatásokat.

Az alkalmazás létrehozása az Azure Spring Appsben

Az előző modulhoz hasonlóan hozzon létre egy adott todo-gateway alkalmazást az Azure Spring Apps-példányban. Mivel ez az alkalmazás átjáró, hozzáadjuk a --assign-endpoint jelzőt, hogy nyilvánosan elérhető legyen.

az spring app create --name todo-gateway --service "$SPRING_CLOUD_NAME" --resource-group "$RESOURCE_GROUP_NAME" --runtime-version Java_17 --assign-endpoint

Az alkalmazás üzembe helyezése

Most már létrehozhatja a todo-gateway projektet, és elküldheti azt az Azure Spring Appsbe:

cd todo-gateway
./mvnw clean package -DskipTests
az spring app deploy --name todo-gateway --service "$SPRING_CLOUD_NAME" --resource-group "$RESOURCE_GROUP_NAME" --artifact-path target/demo-0.0.1-SNAPSHOT.jar
cd ..

A projekt tesztelése a felhőben

  1. Nyissa meg az Azure Spring Apps-példány alkalmazásait .

    1. Ellenőrizze , hogy a todo-gateway regisztrációs állapota 1/1-e. Ezek az információk azt mutatják, hogy helyesen van regisztrálva a Spring Cloud Service Registryben.
    2. A mikroszolgáltatásról a todo-gateway kiválasztásával kaphat további információt.
  2. Másolja/illessze be a megadott nyilvános URL-címet. Erre az URL-címre szüksége lesz a későbbi szakaszokban.

    Van egy tesztvégpont – a mikroszolgáltatásokhoz hasonlóan –, de az átjáró közvetlenül elérhető az interneten, ezért a nyilvános URL-címet fogjuk használni.

Mivel az átjáró csatlakozik a Spring Cloud Service Registryhez, automatikusan meg kell nyitnia a rendelkezésre álló mikroszolgáltatások útvonalait, és az URL-útvonalaknak a következő formában /MICROSERVICE-ID/**kell lenniük: [A MICRO Standard kiadás RVICE-AZONOSÍTÓnak nagybetűkkel kell rendelkeznie]

Tesztelje a todo-service mikroszolgáltatás-végpontot a következő lépésekkel: curl https://XXXXXXXX-todo-gateway.azuremicroservices.io/TODO-SERVICE/ (a XXXXXXXX-et cserélje le az Azure Spring Apps-példány nevére).

Az előző modulhoz hasonlóan a parancsnak azt a három elemet kell eredményeznie, amelyeket a modul elején beillesztett a MySQL-adatbázisba:

[{"id":"1","description":"First item","done":true},{"id":"2","description":"Second item","done":true},{"id":"3","description":"Third item","done":false}]