Didacticiel : Déployer une application Spring Boot connectée à Apache Kafka sur Confluent Cloud avec un connecteur de service dans Azure Spring Apps
Découvrez comment accéder à Apache Kafka sur Confluent Cloud pour une application Spring Boot s’exécutant sur Azure Spring Apps. Dans ce tutoriel, vous allez effectuer les tâches suivantes :
- Créer Apache Kafka sur Confluent Cloud
- Créer une application Spring Cloud
- Créer et déployer l’application Spring Boot
- Connecter Apache Kafka sur Confluent Cloud à Azure Spring Apps à l’aide d’un connecteur de service
Avertissement
Microsoft vous recommande d’utiliser le flux d’authentification le plus sécurisé disponible. Le flux d'authentification décrit dans cette procédure demande un degré de confiance très élevé dans l'application et comporte des risques qui ne sont pas présents dans d'autres flux. Vous ne devez utiliser ce flux que si d’autres flux plus sécurisés, tels que les identités managées, ne sont pas viables.
Prérequis
Compte Azure avec un abonnement actif. Créez un compte gratuitement.
Java 8 ou une version plus récente avec prise en charge à long terme (LTS) 1.
Utilisez l’environnement Bash dans Azure Cloud Shell. Pour plus d’informations, consultez Démarrage rapide pour Bash dans Azure Cloud Shell.
Si vous préférez exécuter les commandes de référence de l’interface de ligne de commande localement, installez l’interface Azure CLI. Si vous exécutez sur Windows ou macOS, envisagez d’exécuter Azure CLI dans un conteneur Docker. Pour plus d’informations, consultez Guide pratique pour exécuter Azure CLI dans un conteneur Docker.
Si vous utilisez une installation locale, connectez-vous à Azure CLI à l’aide de la commande az login. Pour finir le processus d’authentification, suivez les étapes affichées dans votre terminal. Pour connaître les autres options de connexion, consultez Se connecter avec Azure CLI.
Lorsque vous y êtes invité, installez l’extension Azure CLI lors de la première utilisation. Pour plus d’informations sur les extensions, consultez Utiliser des extensions avec Azure CLI.
Exécutez az version pour rechercher la version et les bibliothèques dépendantes installées. Pour effectuer une mise à niveau vers la dernière version, exécutez az upgrade.
Cloner ou télécharger l’exemple d’application
Clonez l’exemple de dépôt :
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
Accédez au dossier suivant :
cd serviceconnector-springcloud-confluent-springboot
Préparer les services cloud
Créer une instance de Apache Kafka pour Confluent Cloud
Créez une instance d’Apache Kafka pour Confluent Cloud, en suivant ces conseils.
Créer un cluster et un registre de schémas Kafka sur Confluent Cloud
Connectez-vous à Confluent Cloud à l’aide de l’authentification unique fournie par Azure
Utilisez l’environnement par défaut ou créer-en un
Créez un cluster Kafka avec les informations suivantes :
- Type de cluster : standard
- Région/zones : eastus (Virginie), zone unique
- Nom du cluster :
cluster_1
ou tout autre nom.
Dans Vue d’ensemble du cluster ->Paramètres du cluster, notez l’URL Serveur de démarrage Kafka.
Créer des clés API pour le cluster dans Intégration de données>Clés API ->+ Ajouter une clé avec Accès global. Notez la clé et le secret.
Créez une rubrique nommée
test
avec les partitions 6 dans Rubriques ->+ Ajouter une rubriqueSous l’environnement par défaut, sélectionnez l’onglet Registre de schémas. Activez le registre de schémas et notez le Point de terminaison d’API.
Créer des clés API pour le registre de schémas. Enregistrez la clé et le secret.
Créer une instance Azure Spring Apps
Créez une instance d’Azure Spring Apps en suivant le démarrage rapide Azure Spring Apps dans Java. Assurez-vous que votre instance Azure Spring Apps est créée dans une région qui dispose du support du Connecteur de services.
Génération et déploiement de l’application
Générer l’exemple d’application et créer une application Spring
Connectez-vous à Azure et définissez votre abonnement.
az login az account set --subscription <Name or ID of your subscription>
Générez le projet à l’aide de Gradle.
./gradlew build
Créez l’application avec un point de terminaison public affecté. Si vous avez sélectionné Java version 11 lors de la génération du projet Spring Cloud, incluez le commutateur
--runtime-version=Java_11
.az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
Créez une connexion de service à l’aide du Connecteur de services
Exécutez la commande suivante pour connecter votre Apache Kafka sur Confluent Cloud à votre application Spring Cloud.
az spring connection create confluent-cloud -g <your-spring-cloud-resource-group> --service <your-spring-cloud-service> --app <your-spring-cloud-app> --deployment <your-spring-cloud-deployment> --bootstrap-server <kafka-bootstrap-server-url> --kafka-key <cluster-api-key> --kafka-secret <cluster-api-secret> --schema-registry <kafka-schema-registry-endpoint> --schema-key <registry-api-key> --schema-secret <registry-api-secret>
Remplacez les textes d’espace réservé suivants par vos propres données :
- Remplacez
<your-resource-group-name>
par le nom du groupe de ressources que vous avez créé pour votre instance Application Spring Apps. - Remplacez
<kafka-bootstrap-server-url>
par l’URL de votre serveur de démarrage Kafka. Par exemple :pkc-xxxx.eastus.azure.confluent.cloud:9092
. - Remplacez
<cluster-api-key>
et<cluster-api-secret>
par les clé et secret API de votre cluster. - Remplacez
<kafka-schema-registry-endpoint>
par votre point de terminaison du Registre de schémas Kafka. Par exemple :https://psrc-xxxx.westus2.azure.confluent.cloud
. - Remplacez
<registry-api-key>
et<registry-api-secret>
par les clé et secret API de votre cluster votre registre de schémas Kafka.
Notes
Si vous voyez le message d’erreur « L’abonnement n’est pas inscrit pour utiliser Microsoft.ServiceLinker », exécutez az provider register -n Microsoft.ServiceLinker
pour inscrire le fournisseur de ressources Service Connector et réexécutez la commande de connexion.
Déployer le fichier JAR
Exécutez la commande suivante pour charger le fichier JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar
) dans votre application Spring Cloud.
az spring app deploy -n hellospring -s <service-instance-name> -g <your-resource-group-name> --artifact-path build/libs/java-springboot-0.0.1-SNAPSHOT.jar
Valider l’ingestion de données Kafka
Accédez au point de terminaison de votre application Spring Cloud à partir du Portail Azure, puis cliquez sur l’URL de l’application. Le message « 10 messages ont été produits pour le test de rubrique » s’affiche.
Accédez ensuite au portail Confluent. La page de la rubrique indique le débit de production.
Étapes suivantes
Suivez les tutoriels ci-dessous pour en savoir plus sur Service Connector.