Dela via


Självstudie: Distribuera en Spring Boot-app som är ansluten till Apache Kafka på Confluent Cloud med Service Connector i Azure Spring Apps

Lär dig hur du kommer åt Apache Kafka på Confluent Cloud för ett Spring Boot-program som körs i Azure Spring Apps. I den här självstudien slutför du följande uppgifter:

  • Skapa Apache Kafka på Confluent Cloud
  • Skapa ett Spring Cloud-program
  • Skapa och distribuera Spring Boot-appen
  • Ansluta Apache Kafka på Confluent Cloud till Azure Spring Apps med hjälp av Service Connector

Varning

Microsoft rekommenderar att du använder det säkraste tillgängliga autentiseringsflödet. Det autentiseringsflöde som beskrivs i den här proceduren kräver mycket stort förtroende för programmet och medför risker som inte finns i andra flöden. Du bör bara använda det här flödet när andra säkrare flöden, till exempel hanterade identiteter, inte är livskraftiga.

Förutsättningar

Klona eller ladda ned exempelappen

  1. Klona exempellagringsplatsen:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. Navigera till följande mapp:

    cd serviceconnector-springcloud-confluent-springboot
    

Förbereda molntjänster

Skapa en instans av Apache Kafka för Confluent Cloud

Skapa en instans av Apache Kafka for Confluent Cloud genom att följa den här vägledningen.

Skapa Kafka-kluster och schemaregister i Confluent Cloud

  1. Logga in på Confluent Cloud med den enkel inloggning som tillhandahålls av Azure

    Länken för Confluent Cloud SSO-inloggning med hjälp av Azure Portal

  2. Använd standardmiljön eller skapa en ny

    Molnmiljö för Apache Kafka på Confluent Cloud

  3. Skapa ett Kafka-kluster med följande information:

    • Klustertyp: Standard
    • Region/zoner: eastus(Virginia), enskild zon
    • Klusternamn: cluster_1 eller något annat namn.
  4. I Klusteröversikt –> Klusterinställningar noterar du Url:en för Kafka Bootstrap-servern .

    Klusterinställningar för Apache Kafka på Confluent Cloud

  5. Skapa API-nycklar för klustret i Dataintegrering ->API Keys ->+ Lägg till nyckel med global åtkomst. Anteckna nyckeln och hemligheten.

  6. Skapa ett ämne med namnet test med partitioner 6 i Ämnen ->+ Lägg till ämne

  7. Under standardmiljö väljer du fliken Schemaregister. Aktivera schemaregistret och anteckna API-slutpunkten.

  8. Skapa API-nycklar för schemaregistret. Spara nyckeln och hemligheten.

Skapa en Azure Spring Apps-instans

Skapa en instans av Azure Spring Apps genom att följa snabbstarten för Azure Spring Apps i Java. Kontrollera att din Azure Spring Apps-instans har skapats i en region som har stöd för Service Connector.

Skapa och distribuera appen

Skapa exempelappen och skapa en ny spring-app

  1. Logga in på Azure och välj din prenumeration.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Skapa projektet med hjälp av gradle.

    ./gradlew build
    
  3. Skapa appen med en offentlig slutpunkt tilldelad. Om du valde Java version 11 när du genererade Spring Cloud-projektet inkluderar du växeln --runtime-version=Java_11 .

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

Skapa en tjänstanslutning med hjälp av Service Connector

Kör följande kommando för att ansluta Apache Kafka på Confluent Cloud till vårmolnappen.

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>

Ersätt följande platshållartexter med dina egna data:

  • Ersätt <your-resource-group-name> med resursgruppens namn som du skapade för din Apps Spring Apps-instans.
  • Ersätt <kafka-bootstrap-server-url> med kafka bootstrap-serverns URL. Exempel: pkc-xxxx.eastus.azure.confluent.cloud:9092.
  • Ersätt <cluster-api-key> och <cluster-api-secret> med klustrets API-nyckel och hemlighet.
  • Ersätt <kafka-schema-registry-endpoint> med kafka-schemaregistrets slutpunkt. Exempel: https://psrc-xxxx.westus2.azure.confluent.cloud.
  • Ersätt <registry-api-key> och <registry-api-secret> med din kafka Schema Registry API-nyckel och hemlighet.

Kommentar

Om du ser felmeddelandet "Prenumerationen är inte registrerad för att använda Microsoft.ServiceLinker" kör az provider register -n Microsoft.ServiceLinker du för att registrera resursprovidern för Service Connector och kör anslutningskommandot igen.

Distribuera JAR-filen

Kör följande kommando för att ladda upp JAR-filen (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) till din 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

Verifiera Kafka-datainmatningen

Gå till Spring Cloud-appens slutpunkt från Azure Portal och välj programmets URL. Du ser "10 meddelanden producerades till ämnestestet".

Gå sedan till Confluent-portalen så visar ämnets sida produktionsdataflöde.

Exempelmått

Nästa steg

Följ självstudierna nedan om du vill veta mer om Service Connector.