Kurz: Nasazení aplikace Spring Boot připojené k Apache Kafka v confluent cloudu s konektorem service v Azure Spring Apps
Zjistěte, jak získat přístup k Apache Kafka v Confluent Cloudu pro aplikaci Spring Boot spuštěnou v Azure Spring Apps. V tomto kurzu provedete následující úlohy:
- Vytvoření Apache Kafka v confluent cloudu
- Vytvoření aplikace Spring Cloud
- Sestavení a nasazení aplikace Spring Boot
- Připojení Apache Kafka v Confluent Cloudu ke službě Azure Spring Apps pomocí konektoru služeb
Upozorňující
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Ověřovací tok popsaný v tomto postupu vyžaduje velmi vysoký stupeň důvěryhodnosti v aplikaci a nese rizika, která nejsou přítomna v jiných tocích. Tento tok byste měli použít jenom v případě, že jiné bezpečnější toky, jako jsou spravované identity, nejsou přijatelné.
Požadavky
Účet Azure s aktivním předplatným. Vytvoření účtu zdarma
Java 8 nebo novější verze s dlouhodobou podporou (LTS) 1.
Použijte prostředí Bash v Azure Cloud Shellu. Další informace najdete v tématu Rychlý start pro Bash v Azure Cloud Shellu.
Pokud dáváte přednost místnímu spouštění referenčních příkazů rozhraní příkazového řádku, nainstalujte Azure CLI. Pokud používáte Windows nebo macOS, zvažte spuštění Azure CLI v kontejneru Docker. Další informace najdete v tématu Jak spustit Azure CLI v kontejneru Dockeru.
Pokud používáte místní instalaci, přihlaste se k Azure CLI pomocí příkazu az login. Pokud chcete dokončit proces ověřování, postupujte podle kroků zobrazených na terminálu. Další možnosti přihlášení najdete v tématu Přihlášení pomocí Azure CLI.
Po zobrazení výzvy nainstalujte rozšíření Azure CLI při prvním použití. Další informace o rozšířeních najdete v tématu Využití rozšíření v Azure CLI.
Spuštěním příkazu az version zjistěte verzi a závislé knihovny, které jsou nainstalované. Pokud chcete upgradovat na nejnovější verzi, spusťte az upgrade.
Klonování nebo stažení ukázkové aplikace
Naklonujte ukázkové úložiště:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
Přejděte do následující složky:
cd serviceconnector-springcloud-confluent-springboot
Příprava cloudových služeb
Vytvoření instance Apache Kafka pro Confluent Cloud
Podle těchto pokynů vytvořte instanci Apache Kafka pro Confluent Cloud.
Vytvoření clusteru Kafka a registru schématu v confluent cloudu
Přihlášení ke cloudu Confluent pomocí jednotného přihlašování poskytovaného Azure
Použijte výchozí prostředí nebo vytvořte nové.
Vytvořte cluster Kafka s následujícími informacemi:
- Typ clusteru: Standard
- Oblast/zóny: eastus(Virginia), jedna zóna
- Název clusteru:
cluster_1
nebo jiný název.
V přehledu clusteru –> Nastavení clusteru si poznamenejte adresu URL serveru Kafka Bootstrap.
Vytvořte klíče rozhraní API pro cluster v integraci dat ->API Keys ->+ Přidat klíč s globálním přístupem. Poznamenejte si klíč a tajný klíč.
Vytvoření tématu s názvem
test
oddíly 6 v tématech –> + Přidat témaVe výchozím prostředí vyberte kartu Registr schématu. Povolte registr schématu a poznamenejte si koncový bod rozhraní API.
Vytvořte klíče rozhraní API pro registr schématu. Uložte klíč a tajný klíč.
Vytvoření instance Azure Spring Apps
Pomocí rychlého startu Azure Spring Apps v Javě vytvořte instanci Azure Spring Apps. Ujistěte se, že je vaše instance Azure Spring Apps vytvořená v oblasti, která má podporu konektoru Service Connector.
Sestavení a nasazení aplikace
Vytvoření ukázkové aplikace a vytvoření nové springové aplikace
Přihlaste se k Azure a zvolte své předplatné.
az login az account set --subscription <Name or ID of your subscription>
Sestavte projekt pomocí gradle.
./gradlew build
Vytvořte aplikaci s přiřazeným veřejným koncovým bodem. Pokud jste při generování projektu Spring Cloud vybrali Javu verze 11, zahrňte přepínač
--runtime-version=Java_11
.az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
Vytvoření připojení služby pomocí konektoru služby
Spuštěním následujícího příkazu připojte Apache Kafka v Confluent Cloudu k aplikaci 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>
Nahraďte následující zástupné texty vlastními daty:
- Nahraďte
<your-resource-group-name>
názvem skupiny prostředků, kterou jste vytvořili pro instanci Aplikace Spring Apps. - Nahraďte
<kafka-bootstrap-server-url>
adresou URL vašeho serveru Kafka bootstrap. Například:pkc-xxxx.eastus.azure.confluent.cloud:9092
. - Nahraďte
<cluster-api-key>
klíč<cluster-api-secret>
a tajný klíč rozhraní API clusteru. - Nahraďte
<kafka-schema-registry-endpoint>
koncovým bodem registru schémat Kafka. Například:https://psrc-xxxx.westus2.azure.confluent.cloud
. - Nahraďte
<registry-api-key>
klíč a<registry-api-secret>
tajný klíč rozhraní KAFKA Schema Registry API a tajným kódem.
Poznámka:
Pokud se zobrazí chybová zpráva "Předplatné není zaregistrované pro použití Microsoft.ServiceLinker", spusťte prosím az provider register -n Microsoft.ServiceLinker
registraci poskytovatele prostředků konektoru služeb a spusťte příkaz pro připojení znovu.
Nasazení souboru JAR
Spuštěním následujícího příkazu nahrajte soubor JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar
) do aplikace 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
Ověření příjmu dat Kafka
Přejděte na koncový bod aplikace Spring Cloud z webu Azure Portal a vyberte adresu URL aplikace. Zobrazí se zpráva "10 zpráv bylo vytvořeno pro testování témat".
Pak přejděte na portál Confluent a na stránce tématu se zobrazí produkční propustnost.
Další kroky
Další informace o konektoru Service Connector najdete v následujících kurzech.