Esercitazione: Distribuire un'app Spring Boot connessa ad Apache Kafka nel cloud Confluent con il servizio Connessione or in App Spring di Azure
Informazioni su come accedere ad Apache Kafka in Confluent Cloud per un'applicazione Spring Boot in esecuzione in Azure Spring Apps. In questa esercitazione si completano le attività seguenti:
- Creare Apache Kafka in Confluent Cloud
- Creare un'applicazione Spring Cloud
- Compilare e distribuire l'app Spring Boot
- Connessione Apache Kafka in Confluent Cloud ad Azure Spring Apps usando service Connessione or
Prerequisiti
Un account Azure con una sottoscrizione attiva. Creare un account gratuitamente.
Java 8 o una versione più recente con supporto a lungo termine (LTS) 1.
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido per Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere con l'interfaccia della riga di comando di Azure.
Quando richiesto, installare l'estensione dell'interfaccia della riga di comando di Azure al primo uso. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Clonare o scaricare l'app di esempio
Clonare il repository di esempio:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
Passare alla cartella seguente:
cd serviceconnector-springcloud-confluent-springboot
Preparare i servizi cloud
Creare un'istanza di Apache Kafka per Confluent Cloud
Creare un'istanza di Apache Kafka per Confluent Cloud seguendo queste indicazioni.
Creare un cluster Kafka e un registro dello schema in Confluent Cloud
Accedere a Confluent Cloud usando l'accesso SSO fornito da Azure
Usare l'ambiente predefinito o crearne uno nuovo
Creare un cluster Kafka con le informazioni seguenti:
- Tipo di cluster: Standard
- Area/zone: eastus(Virginia), Zona singola
- Nome del cluster:
cluster_1
o qualsiasi altro nome.
In Panoramica del cluster -> Impostazioni cluster prendere nota dell'URL del server Kafka Bootstrap.
Creare chiavi API per il cluster in Integrazione dati -> Chiavi API ->+ Aggiungi chiave con accesso globale. Prendere nota della chiave e del segreto.
Creare un argomento denominato
test
con partizioni 6 in Argomenti ->+ Aggiungere argomentoNell'ambiente predefinito selezionare la scheda Registro schemi. Abilitare il Registro schemi e annotare l'endpoint API.
Creare chiavi API per il Registro di sistema dello schema. Salvare la chiave e il segreto.
Creare un'istanza di Azure Spring Apps
Creare un'istanza di Azure Spring Apps seguendo la guida introduttiva di Azure Spring Apps in Java. Assicurarsi che l'istanza di Azure Spring Apps venga creata in un'area con supporto di Service Connessione or.
Compilare e distribuire l'app
Compilare l'app di esempio e creare una nuova app spring
Accedere ad Azure e scegliere la sottoscrizione.
az login az account set --subscription <Name or ID of your subscription>
Compilare il progetto usando gradle.
./gradlew build
Creare l'app con un endpoint pubblico assegnato. Se è stata selezionata la versione 11 di Java durante la generazione del progetto Spring Cloud, includere l'opzione
--runtime-version=Java_11
.az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
Creare una connessione al servizio tramite Service Connessione or
Eseguire il comando seguente per connettere Apache Kafka in Confluent Cloud all'app 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>
Sostituire i testi segnaposto seguenti con i propri dati:
- Sostituire
<your-resource-group-name>
con il nome del gruppo di risorse creato per l'istanza di App Spring Apps. - Sostituire
<kafka-bootstrap-server-url>
con l'URL del server di bootstrap Kafka. Ad esempio:pkc-xxxx.eastus.azure.confluent.cloud:9092
. - Sostituire
<cluster-api-key>
e<cluster-api-secret>
con la chiave API del cluster e il segreto. - Sostituire
<kafka-schema-registry-endpoint>
con l'endpoint del Registro di sistema dello schema Kafka. Ad esempio:https://psrc-xxxx.westus2.azure.confluent.cloud
. - Sostituire
<registry-api-key>
e<registry-api-secret>
con la chiave API e il segreto del Registro di sistema dello schema kafka.
Nota
Se viene visualizzato il messaggio di errore "La sottoscrizione non è registrata per l'uso di Microsoft.ServiceLinker", eseguire az provider register -n Microsoft.ServiceLinker
per registrare il provider di risorse service Connessione or ed eseguire di nuovo il comando di connessione.
Distribuire il file JAR
Eseguire il comando seguente per caricare il file JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar
) nell'app 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
Convalidare l'inserimento dati Kafka
Passare all'endpoint dell'app Spring Cloud dal portale di Azure e selezionare l'URL dell'applicazione. Verranno visualizzati "10 messaggi generati al test dell'argomento".
Passare quindi al portale di Confluent e la pagina dell'argomento mostrerà la velocità effettiva di produzione.
Passaggi successivi
Seguire le esercitazioni elencate di seguito per altre informazioni su Service Connessione or.