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


Руководство. Развертывание приложения 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 с помощью соединителя службы

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

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

Необходимые компоненты

  • Используйте среду 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
    

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

Выполните указанную ниже команду, чтобы подключить 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. Например: 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. На странице раздела отобразится пропускная способность рабочей среды.

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

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

Дополнительные сведения о соединителе служб см. в приведенных ниже учебниках.