Samouczek: wdrażanie aplikacji Spring Boot połączonej z platformą Apache Kafka w chmurze Confluent przy użyciu usługi Połączenie or 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
  • Połączenie platformy Apache Kafka w chmurze Confluent do usługi Azure Spring Apps przy użyciu usługi Service Połączenie or

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.

Klonowanie lub pobieranie przykładowej aplikacji

  1. Sklonuj przykładowe repozytorium:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. 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

  1. Zaloguj się do platformy Confluent Cloud przy użyciu logowania jednokrotnego udostępnianego przez platformę Azure

    The link of Confluent cloud SSO login using Azure portal

  2. Użyj środowiska domyślnego lub utwórz nowe

    Cloud environment of Apache Kafka on Confluent Cloud

  3. 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.
  4. W obszarze Przegląd klastra —> ustawienia klastra zanotuj adres URL serwera Bootstrap platformy Kafka.

    Cluster settings of Apache Kafka on Confluent Cloud

  5. 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.

  6. Tworzenie tematu o nazwie z test partycjami 6 w tematach ->+ Dodaj temat

  7. W obszarze środowisko domyślne wybierz kartę Rejestr schematów. Włącz rejestr schematów i zanotuj punkt końcowy interfejsu API.

  8. 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ą usługi Service Połączenie or.

Kompilowanie i wdrażanie aplikacji

Tworzenie przykładowej aplikacji i tworzenie nowej aplikacji spring

  1. Zaloguj się do platformy Azure i wybierz swoją subskrypcję.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Skompiluj projekt przy użyciu narzędzia gradle.

    ./gradlew build
    
  3. 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-cloud 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 Połączenie or usługi

Uruchom następujące polecenie, aby połączyć platformę Apache Kafka w usłudze Confluent Cloud z aplikacją spring cloud.

az spring-cloud 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 usługi Połączenie or 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-cloud 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.

Sample metrics

Następne kroki

Postępuj zgodnie z samouczkami wymienionymi poniżej, aby dowiedzieć się więcej o usłudze Połączenie or.