Samouczek: wdrażanie aplikacji Spring Boot połączonej z platformą Apache Kafka w chmurze Confluent Cloud za pomocą łącznika usługi Service Connector w usłudze Azure Spring Apps
Dowiedz się, jak uzyskać dostęp do platformy Apache Kafka w usłudze Confluent Cloud dla aplikacji Spring Boot działającej w usłudze Azure Spring Apps. W tym samouczku wykonasz następujące zadania:
- Tworzenie platformy Apache Kafka w chmurze Confluent
- Tworzenie aplikacji Spring Cloud
- Kompilowanie i wdrażanie aplikacji Spring Boot
- Łączenie platformy Apache Kafka w chmurze Confluent z usługą Azure Spring Apps przy użyciu łącznika usługi Service
Ostrzeżenie
Firma Microsoft zaleca korzystanie z najbezpieczniejszego dostępnego przepływu uwierzytelniania. Przepływ uwierzytelniania opisany w tej procedurze wymaga bardzo wysokiego poziomu zaufania w aplikacji i niesie ze sobą ryzyko, które nie występują w innych przepływach. Tego przepływu należy używać tylko wtedy, gdy inne bezpieczniejsze przepływy, takie jak tożsamości zarządzane, nie są opłacalne.
Wymagania wstępne
Konto platformy Azure z aktywną subskrypcją. Utwórz konto bezpłatnie.
Środowisko Java 8 lub nowsza wersja z obsługą długoterminową (LTS) 1.
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Klonowanie lub pobieranie przykładowej aplikacji
Sklonuj przykładowe repozytorium:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
Przejdź do następującego folderu:
cd serviceconnector-springcloud-confluent-springboot
Przygotowywanie usług w chmurze
Tworzenie wystąpienia platformy Apache Kafka dla platformy Confluent Cloud
Utwórz wystąpienie platformy Apache Kafka for Confluent Cloud, postępując zgodnie z poniższymi wskazówkami.
Tworzenie klastra i rejestru schematów platformy Kafka w chmurze Confluent
Zaloguj się do platformy Confluent Cloud przy użyciu logowania jednokrotnego udostępnianego przez platformę Azure
Użyj środowiska domyślnego lub utwórz nowe
Utwórz klaster platformy Kafka z następującymi informacjami:
- Typ klastra: Standardowa
- Region/strefy: eastus(Virginia), Single Zone
- Nazwa klastra:
cluster_1
lub dowolna inna nazwa.
W obszarze Przegląd klastra —> ustawienia klastra zanotuj adres URL serwera Bootstrap platformy Kafka.
Utwórz klucze interfejsu API dla klastra w obszarze Integracja danych -> Klucze interfejsu API ->+ Dodaj klucz z dostępem globalnym. Zanotuj klucz i wpis tajny.
Tworzenie tematu o nazwie z
test
partycjami 6 w tematach ->+ Dodaj tematW obszarze środowisko domyślne wybierz kartę Rejestr schematów. Włącz rejestr schematów i zanotuj punkt końcowy interfejsu API.
Utwórz klucze interfejsu API dla rejestru schematów. Zapisz klucz i wpis tajny.
Tworzenie wystąpienia usługi Azure Spring Apps
Utwórz wystąpienie usługi Azure Spring Apps, postępując zgodnie z przewodnikiem Szybki start usługi Azure Spring Apps w języku Java. Upewnij się, że wystąpienie usługi Azure Spring Apps zostało utworzone w regionie z obsługą łącznika usługi.
Kompilowanie i wdrażanie aplikacji
Tworzenie przykładowej aplikacji i tworzenie nowej aplikacji spring
Zaloguj się do platformy Azure i wybierz swoją subskrypcję.
az login az account set --subscription <Name or ID of your subscription>
Skompiluj projekt przy użyciu narzędzia gradle.
./gradlew build
Utwórz aplikację z przypisanym publicznym punktem końcowym. Jeśli podczas generowania projektu Spring Cloud wybrano język Java w wersji 11, dołącz
--runtime-version=Java_11
przełącznik.az spring app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
Tworzenie połączenia z usługą przy użyciu łącznika usługi
Uruchom następujące polecenie, aby połączyć platformę Apache Kafka w usłudze Confluent Cloud z aplikacją 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>
Zastąp następujące teksty zastępcze własnymi danymi:
- Zastąp
<your-resource-group-name>
ciąg nazwą grupy zasobów utworzoną dla wystąpienia aplikacji Spring Apps. - Zastąp
<kafka-bootstrap-server-url>
ciąg adresem URL serwera bootstrap platformy Kafka. Na przykład:pkc-xxxx.eastus.azure.confluent.cloud:9092
. - Zastąp
<cluster-api-key>
element i<cluster-api-secret>
kluczem interfejsu API klastra i wpisem tajnym. - Zastąp
<kafka-schema-registry-endpoint>
element punktem końcowym rejestru schematów platformy Kafka. Na przykład:https://psrc-xxxx.westus2.azure.confluent.cloud
. - Zastąp
<registry-api-key>
wartości i<registry-api-secret>
kluczem interfejsu API rejestru schematów platformy kafka i wpisem tajnym.
Uwaga
Jeśli zostanie wyświetlony komunikat o błędzie "Subskrypcja nie jest zarejestrowana do korzystania z microsoft.ServiceLinker", uruchom polecenie az provider register -n Microsoft.ServiceLinker
, aby zarejestrować dostawcę zasobów łącznika usługi i ponownie uruchomić polecenie połączenia.
Wdrażanie pliku JAR
Uruchom następujące polecenie, aby przekazać plik JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar
) do aplikacji 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
Weryfikowanie pozyskiwania danych platformy Kafka
Przejdź do punktu końcowego aplikacji Spring Cloud z witryny Azure Portal i wybierz adres URL aplikacji. Zobaczysz komunikat "10 komunikatów zostało utworzonych do testowania tematu".
Następnie przejdź do portalu Confluent i na stronie tematu zostanie wyświetlona przepływność produkcyjna.
Następne kroki
Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o łączniku usługi.