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.
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. Connectez-vous à Azure avec Azure CLI.
az login
Créez un groupe de ressources.
az group create --name $RESOURCE_GROUP --location $LOCATION
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.
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
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
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 surtrue
pour appliquer l’inscription au serveur Eureka. Cette inscription remplace le paramètre local dansapplication.properties
dans le serveur de configuration, et ainsi de suite. Si vous voulez le définir surfalse
, vous pouvez le remplacer en définissant une variable d’environnement dans votre application conteneur.eureka.instance.prefer-ip-address
est défini surtrue
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
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de l’année 2024, nous abandonnerons progressivement le mécanisme de retour d’information GitHub Issues pour le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultez :Soumettre et afficher des commentaires pour