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.
Gebruik de Bash-omgeving in Azure Cloud Shell. Zie quickstart voor Bash in Azure Cloud Shell voor meer informatie.
Installeer de Azure CLI, indien gewenst, om CLI-referentieopdrachten uit te voeren. Als u in Windows of macOS werkt, kunt u Azure CLI uitvoeren in een Docker-container. Zie De Azure CLI uitvoeren in een Docker-container voor meer informatie.
Als u een lokale installatie gebruikt, meldt u zich aan bij Azure CLI met behulp van de opdracht az login. Volg de stappen die worden weergegeven in de terminal, om het verificatieproces te voltooien. Raadpleeg Aanmelden bij Azure CLI voor aanvullende aanmeldingsopties.
Installeer de Azure CLI-extensie bij het eerste gebruik, wanneer u hierom wordt gevraagd. Raadpleeg Extensies gebruiken met Azure CLI voor meer informatie over extensies.
Voer az version uit om de geïnstalleerde versie en afhankelijke bibliotheken te vinden. Voer az upgrade uit om te upgraden naar de nieuwste versie.
De voorbeeld-app klonen of downloaden
Kloon de voorbeeldopslagplaats:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
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
Meld u aan bij Confluent Cloud met behulp van de eenmalige aanmelding van Azure
De standaardomgeving gebruiken of een nieuwe maken
Maak een Kafka-cluster met de volgende informatie:
- Clustertype: Standaard
- Regio/zones: eastus(Virginia), enkele zone
- Clusternaam:
cluster_1
of een andere naam.
Noteer in clusteroverzicht -> Clusterinstellingen de URL van de Kafka Bootstrap-server .
Maak API-sleutels voor het cluster in Gegevensintegratie -> API-sleutels ->+ Sleutel toevoegen met globale toegang. Noteer de sleutel en het geheim.
Een onderwerp maken met de naam
test
partities 6 in Onderwerpen -> + Onderwerp toevoegenSelecteer onder de standaardomgeving het tabblad Schemaregister . Schakel het schemaregister in en noteer het API-eindpunt.
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
Meld u aan bij Azure en kies uw abonnement.
az login az account set --subscription <Name or ID of your subscription>
Bouw het project met gradle.
./gradlew build
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.
Volgende stappen
Volg de onderstaande zelfstudies voor meer informatie over Service Connector.