Partager via


Tutoriel : se connecter à une instance Eureka Server managée pour Spring dans Azure Container Apps (préversion)

Eureka Server pour Spring est un registre de services qui permet aux microservices de s’inscrire eux-mêmes et de découvrir d’autres services. Disponible sous forme de composant Azure Container Apps, vous pouvez lier votre application conteneur à une instance Eureka Server pour Spring pour qu’elle s’inscrive automatiquement au serveur Eureka.

Ce didacticiel vous apprend à effectuer les opérations suivantes :

  • Créer un composant Java Eureka Server pour Spring
  • Lier votre application conteneur au composant Java Eureka Server pour Spring

Important

Ce tutoriel utilise des services qui peuvent affecter votre facture Azure. Si vous décidez de suivre les étapes pas à pas, veillez à supprimer les ressources présentées dans cet article pour éviter toute facturation inattendue.

Prérequis

Pour mener à bien ce projet, vous avez besoin des éléments suivants :

Condition requise Instructions
Compte Azure Un abonnement actif est requis. Si vous n’en avez pas, vous pouvez en créer un gratuitement.
Azure CLI Installez Azure CLI.

À propos de l’installation

Pendant l’exécution dans Eureka Server pour Spring dans Azure Container Apps, tenez compte des détails suivants :

Article Explication
Portée Le composant Java Eureka Server pour Spring s’exécute dans le même environnement que l’application conteneur connectée.
Mise à l'échelle Eureka Server pour Spring ne peut pas être mis à l’échelle. Les propriétés de mise à l’échelle minReplicas et maxReplicas sont toutes deux définies sur 1.
Ressources L’allocation de ressources de conteneur pour Eureka Server pour Spring est fixe. Le nombre de cœurs de processeur est 0,5 et la taille de la mémoire est 1 Gi.
Tarification La facturation Eureka Server pour Spring est soumise à des tarifs basés sur la consommation. Les ressources consommées par les composants Java managés sont facturées aux taux actif/inactif. Vous pouvez supprimer les composants qui ne sont plus utilisés pour arrêter la facturation.
Binding Les applications conteneur se connectent à un composant Eureka Server pour Spring avec une liaison. La liaison injecte les configurations dans les variables d’environnement de l’application conteneur. Une fois la liaison établie, l’application conteneur peut lire ces valeurs de configuration à partir des variables d’environnement et se connecter à Eureka Server pour Spring.

Programme d’installation

Avant de commencer à utiliser une instance Eureka Server pour Spring, vous devez d’abord créer les ressources nécessaires.

Exécutez les commandes suivantes pour créer votre groupe de ressources et votre environnement Container Apps.

  1. Créez des variables pour prendre en charge la configuration de votre application. Ces valeurs sont fournies dans le cadre de cette leçon.

    export LOCATION=eastus
    export RESOURCE_GROUP=my-services-resource-group
    export ENVIRONMENT=my-environment
    export JAVA_COMPONENT_NAME=eureka
    export APP_NAME=sample-service-eureka-client
    export IMAGE="mcr.microsoft.com/javacomponents/samples/sample-service-eureka-client:latest"
    
    Variable Description
    LOCATION Emplacement de la région Azure où vous créez votre application conteneur et votre composant Java.
    ENVIRONMENT Nom de l’environnement Azure Container Apps pour votre application de démonstration.
    RESOURCE_GROUP Nom du groupe de ressources Azure de votre application de démonstration.
    JAVA_COMPONENT_NAME Nom du composant Java créé pour votre application conteneur. Dans ce cas, vous créez un composant Java Eureka Server pour Spring.
    IMAGE Image conteneur utilisée dans votre application conteneur.
  2. Connectez-vous à Azure avec Azure CLI.

    az login
    
  3. Créez un groupe de ressources.

    az group create --name $RESOURCE_GROUP --location $LOCATION
    
  4. Créez votre environnement d’applications conteneur.

    az containerapp env create \
      --name $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --location $LOCATION
    

Utiliser le composant Java Eureka Server pour Spring

Maintenant que vous avez un environnement existant, vous pouvez créer votre application conteneur et la lier à une instance de composant Java Eureka Server pour Spring.

  1. Créez le composant Java Eureka Server pour Spring.

    az containerapp env java-component eureka-server-for-spring create \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME
    
  2. Mettez à jour la configuration du composant Java Eureka Server pour Spring.

    az containerapp env java-component eureka-server-for-spring update \
      --environment $ENVIRONMENT \
      --resource-group $RESOURCE_GROUP \
      --name $JAVA_COMPONENT_NAME 
      --configuration eureka.server.renewal-percent-threshold=0.85 eureka.server.eviction-interval-timer-in-ms=10000
    
  3. Créez l’application conteneur et liez-la à l’instance Eureka Server pour Spring.

    az containerapp create \
      --name $APP_NAME \
      --resource-group $RESOURCE_GROUP \
      --environment $ENVIRONMENT \
      --image $IMAGE \
      --min-replicas 1 \
      --max-replicas 1 \
      --ingress external \
      --target-port 8080 \
      --bind $JAVA_COMPONENT_NAME \
      --query properties.configuration.ingress.fqdn
    

    Cette commande renvoie l’URL de votre application conteneur qui consomme les registres avec le composant de serveur Eureka. Copiez l’URL dans un éditeur de texte pour pouvoir l’utiliser dans une prochaine étape.

    Accédez en haut de l’affichage de routage /allRegistrationStatus pour voir toutes les applications inscrites sur l’instance Eureka Server pour Spring.

    La liaison injecte plusieurs configurations dans l’application sous forme de variables d’environnement, en particulier la propriété eureka.client.service-url.defaultZone. Cette propriété indique le point de terminaison interne du composant Java Eureka Server.

    La liaison injecte aussi les propriétés suivantes :

    "eureka.client.register-with-eureka":    "true"
    "eureka.instance.prefer-ip-address":     "true"
    

    La propriété eureka.client.register-with-eureka est définie sur true pour appliquer l’inscription au serveur Eureka. Cette inscription remplace le paramètre local dans application.properties dans le serveur de configuration, et ainsi de suite. Si vous voulez le définir sur false, vous pouvez le remplacer en définissant une variable d’environnement dans votre application conteneur.

    eureka.instance.prefer-ip-address est défini sur true en raison de la règle de résolution DNS spécifique dans l’environnement d’application conteneur. Ne modifiez pas cette valeur pour ne pas interrompre la liaison.

    Vous pouvez également supprimer une liaison de votre application.

Nettoyer les ressources

Les ressources créées dans ce tutoriel ont un effet sur votre facture Azure. Si vous n’allez pas utiliser ces services à long terme, exécutez la commande suivante pour supprimer tout ce qui a été créé dans ce didacticiel.

az group delete \
  --resource-group $RESOURCE_GROUP

Étapes suivantes