Delen via


Zelfstudie: Een Spring Boot-app implementeren die is verbonden met Apache Kafka in Confluent Cloud met Service Connector in Azure Spring Apps

Meer informatie over het openen van Apache Kafka in Confluent Cloud voor een Spring Boot-toepassing die wordt uitgevoerd in Azure Spring Apps. In deze zelfstudie voert u de volgende taken uit:

  • Apache Kafka maken in Confluent Cloud
  • Een Spring Cloud-toepassing maken
  • De Spring Boot-app bouwen en implementeren
  • Apache Kafka in Confluent Cloud verbinden met Azure Spring Apps met behulp van Service Connector

Waarschuwing

Microsoft raadt u aan de veiligste verificatiestroom te gebruiken die beschikbaar is. De verificatiestroom die in deze procedure wordt beschreven, vereist een zeer hoge mate van vertrouwen in de toepassing en brengt risico's met zich mee die niet aanwezig zijn in andere stromen. U moet deze stroom alleen gebruiken wanneer andere veiligere stromen, zoals beheerde identiteiten, niet haalbaar zijn.

Vereisten

  • Een Azure-account met een actief abonnement. Gratis een account maken

  • Java 8 of een recentere versie met langetermijnondersteuning (LTS) 1.

De voorbeeld-app klonen of downloaden

  1. Kloon de voorbeeldopslagplaats:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. Navigeer naar de volgende map:

    cd serviceconnector-springcloud-confluent-springboot
    

Cloudservices voorbereiden

Een exemplaar van Apache Kafka maken voor Confluent Cloud

Maak een exemplaar van Apache Kafka voor Confluent Cloud door deze richtlijnen te volgen.

Kafka-cluster en schemaregister maken in Confluent Cloud

  1. Meld u aan bij Confluent Cloud met behulp van de eenmalige aanmelding van Azure

    De koppeling van Confluent Cloud SSO-aanmelding via Azure Portal

  2. De standaardomgeving gebruiken of een nieuwe maken

    Cloudomgeving van Apache Kafka in Confluent Cloud

  3. Maak een Kafka-cluster met de volgende informatie:

    • Clustertype: Standaard
    • Regio/zones: eastus(Virginia), enkele zone
    • Clusternaam: cluster_1 of een andere naam.
  4. Noteer in clusteroverzicht -> Clusterinstellingen de URL van de Kafka Bootstrap-server .

    Clusterinstellingen van Apache Kafka in Confluent Cloud

  5. Maak API-sleutels voor het cluster in Gegevensintegratie -> API-sleutels ->+ Sleutel toevoegen met globale toegang. Noteer de sleutel en het geheim.

  6. Een onderwerp maken met de naam test partities 6 in Onderwerpen -> + Onderwerp toevoegen

  7. Selecteer onder de standaardomgeving het tabblad Schemaregister . Schakel het schemaregister in en noteer het API-eindpunt.

  8. API-sleutels maken voor schemaregister. Sla de sleutel en het geheim op.

Een Azure Spring Apps-exemplaar maken

Maak een exemplaar van Azure Spring Apps door de quickstart van Azure Spring Apps in Java te volgen. Zorg ervoor dat uw Azure Spring Apps-exemplaar is gemaakt in een regio met serviceconnectorondersteuning.

De app compileren en implementeren

De voorbeeld-app bouwen en een nieuwe spring-app maken

  1. Meld u aan bij Azure en kies uw abonnement.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Bouw het project met gradle.

    ./gradlew build
    
  3. Maak de app waaraan een openbaar eindpunt is toegewezen. Als u Java-versie 11 hebt geselecteerd bij het genereren van het Spring Cloud-project, neemt u de --runtime-version=Java_11 switch op.

    az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
    

Een serviceverbinding maken met serviceconnector

Voer de volgende opdracht uit om uw Apache Kafka in Confluent Cloud te verbinden met uw Spring Cloud-app.

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>

Vervang de volgende tijdelijke aanduidingen door uw eigen gegevens:

  • Vervang door <your-resource-group-name> de naam van de resourcegroep die u hebt gemaakt voor uw Spring Apps-exemplaar.
  • Vervang door <kafka-bootstrap-server-url> de URL van uw Kafka bootstrap-server. Voorbeeld: pkc-xxxx.eastus.azure.confluent.cloud:9092.
  • Vervang <cluster-api-key> en <cluster-api-secret> door uw cluster-API-sleutel en -geheim.
  • Vervang door <kafka-schema-registry-endpoint> het Kafka Schema Registry-eindpunt. Voorbeeld: https://psrc-xxxx.westus2.azure.confluent.cloud.
  • Vervang <registry-api-key> en <registry-api-secret> door uw kafka Schema Registry API-sleutel en geheim.

Notitie

Als u het foutbericht 'Het abonnement is niet geregistreerd voor gebruik van Microsoft.ServiceLinker' wordt weergegeven, voert az provider register -n Microsoft.ServiceLinker u de serviceconnectorresourceprovider uit en voert u de verbindingsopdracht opnieuw uit.

Het JAR-bestand implementeren

Voer de volgende opdracht uit om het JAR-bestand (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) te uploaden naar uw Spring Cloud-app.

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

De Gegevensopname van Kafka valideren

Navigeer vanuit Azure Portal naar het eindpunt van uw Spring Cloud-app en selecteer de toepassings-URL. U ziet '10 berichten zijn geproduceerd voor onderwerptest'.

Ga vervolgens naar de Confluent-portal en op de pagina van het onderwerp wordt de productiedoorvoer weergegeven.

Voorbeelden van metrische gegevens

Volgende stappen

Volg de onderstaande zelfstudies voor meer informatie over Service Connector.