Share via


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.

Clonare o scaricare l'app di esempio

  1. Clonare il repository di esempio:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. 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

  1. Accedere a Confluent Cloud usando l'accesso SSO fornito da Azure

    The link of Confluent cloud SSO login using Azure portal

  2. Usare l'ambiente predefinito o crearne uno nuovo

    Cloud environment of Apache Kafka on Confluent Cloud

  3. 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.
  4. In Panoramica del cluster -> Impostazioni cluster prendere nota dell'URL del server Kafka Bootstrap.

    Cluster settings of Apache Kafka on Confluent Cloud

  5. Creare chiavi API per il cluster in Integrazione dati -> Chiavi API ->+ Aggiungi chiave con accesso globale. Prendere nota della chiave e del segreto.

  6. Creare un argomento denominato test con partizioni 6 in Argomenti ->+ Aggiungere argomento

  7. Nell'ambiente predefinito selezionare la scheda Registro schemi. Abilitare il Registro schemi e annotare l'endpoint API.

  8. 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

  1. Accedere ad Azure e scegliere la sottoscrizione.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Compilare il progetto usando gradle.

    ./gradlew build
    
  3. 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.

Sample metrics

Passaggi successivi

Seguire le esercitazioni elencate di seguito per altre informazioni su Service Connessione or.