Поделиться через


Руководство. Развертывание приложения Spring Boot, подключенного к Apache Kafka в Confluent Cloud с помощью соединителя служб в Azure Spring Apps

Узнайте, как получить доступ к Apache Kafka в Confluent Cloud для приложения Spring Boot, работающего в Azure Spring Apps. В этом руководстве вы выполняете следующие задания:

  • Создание Apache Kafka в Confluent Cloud.
  • Создание приложения Spring Cloud.
  • Создание и развертывание приложения Spring Boot.
  • Подключение Apache Kafka в Confluent Cloud к Azure Spring Apps с помощью соединителя службы

Примечание.

Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Миграция стандартного и выделенного плана потребления Azure Spring Apps в контейнерные приложения Azure».

Предупреждение

Корпорация Майкрософт рекомендует использовать самый безопасный поток проверки подлинности. Поток проверки подлинности, описанный в этой процедуре, требует очень высокого уровня доверия к приложению и несет риски, которые отсутствуют в других потоках. Этот поток следует использовать только в том случае, если другие более безопасные потоки, такие как управляемые удостоверения, не являются жизнеспособными.

Предварительные требования

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см. в Кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

    • Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

Клонирование или скачивание примера приложения

  1. Клонируйте образцовый репозиторий.

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. Перейдите в следующую папку:

    cd serviceconnector-springcloud-confluent-springboot
    

Подготовка облачных служб

Создание экземпляра Apache Kafka для Confluent Cloud

Создайте экземпляр Apache Kafka для Confluent Cloud, выполнив инструкции из этого руководства.

Создание кластера Kafka и реестра схемы в Confluent Cloud

  1. Войдите в систему Confluent Cloud с помощью функции единого входа, предоставляемой Azure.

    Ссылка для единого входа в Confluent Cloud с помощью портала Azure

  2. Используйте среду по умолчанию или создайте новую.

    Облачная среда Apache Kafka в облаке с Confluent Cloud

  3. Создайте кластер Kafka со следующими сведениями:

    • Тип кластера: Стандартный
    • Регион или зона: eastus (Виргиния), одна зона
    • Имя кластера: cluster_1 или любое другое.
  4. В Общем обзоре кластера ->Настройки кластера обратите внимание на URL-адрес сервера Kafka Bootstrap.

    Параметры кластера Apache Kafka в Confluent Cloud

  5. Создайте ключи API для кластера в разделеИнтеграция данных >Ключи API >+ Добавить ключ с глобальным доступом. Запишите ключ и секрет.

  6. Создайте раздел с именем test с 6 секциями, выбрав Разделы >+ Добавить раздел.

  7. В среде по умолчанию щелкните вкладку Реестр схемы. Включите реестр схемы и запишите конечную точку API.

  8. Создайте ключи API для реестра схемы. Сохраните ключ и секрет.

Создайте экземпляр Azure Spring Apps

Создайте экземпляр Azure Spring Apps, выполнив краткое руководство по Azure Spring Apps в Java. Убедитесь, что экземпляр Azure Spring Apps создан в регионе, где поддерживается соединитель служб.

Создание и развертывание приложения

Сборка примера приложения и создание нового приложения Spring

  1. Войдите в Azure и выберите подписку.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Создайте проект с помощью gradle.

    ./gradlew build
    
  3. Создайте приложение с назначенной общедоступной конечной точкой. Если при создании проекта Spring Cloud вы выбрали Java версии 11, добавьте параметр --runtime-version=Java_11.

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

Создание подключения к службе с помощью Service Connector

Выполните указанную ниже команду, чтобы подключить Apache Kafka в Confluent Cloud к приложению 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>

Замените следующие заполнители собственными данными:

  • Замените <your-resource-group-name> именем группы ресурсов, созданной для экземпляра Apps Spring Apps.
  • Замените <kafka-bootstrap-server-url> на URL-адрес вашего Kafka bootstrap-сервера. Например: pkc-xxxx.eastus.azure.confluent.cloud:9092.
  • Замените <cluster-api-key> и <cluster-api-secret> ключом и секретом API кластера.
  • Замените <kafka-schema-registry-endpoint> на конечный адрес вашего реестра схем Kafka. Например: https://psrc-xxxx.westus2.azure.confluent.cloud.
  • Замените <registry-api-key> и <registry-api-secret> ключом и секретом API реестра схемы Kafka.

Примечание.

Если отображается сообщение об ошибке "Подписка не зарегистрирована для использования Microsoft.ServiceLinker", выполните команду az provider register -n Microsoft.ServiceLinker, чтобы зарегистрировать поставщика ресурсов службы-коннектора. Затем выполните команду для подключения еще раз.

Развертывание JAR-файла

Выполните указанную ниже команду, чтобы передать JAR-файл (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) в приложение 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

Валидация процесса приема данных Kafka

Перейдите к конечной точке приложения Spring Cloud с портала Azure и щелкните URL-адрес приложения. Отобразится сообщение 10 messages were produced to topic test (В разделе test было создано 10 сообщений).

Затем перейдите на портал Confluent, и на странице топика отобразится производительность.

Примеры метрик

Следующие шаги

Чтобы узнать больше о соединителе служб, воспользуйтесь приведенными ниже учебными пособиями.