Руководство. Развертывание приложения Spring Boot, подключенного к Apache Kafka в Confluent Cloud с помощью Подключение or службы в 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.

    The link of Confluent cloud SSO login using Azure portal

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

    Cloud environment of Apache Kafka on Confluent Cloud

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

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

    Cluster settings of Apache Kafka on 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 создан в регионе, где поддерживается служба Подключение or.

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

Сборка примера приложения и создание нового приложения 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-cloud app create -n hellospring -s <service-instance-name> -g <your-resource-group-name> --assign-endpoint true
    

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

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

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

  • Замените <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-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

Проверка приема данных Kafka

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

Затем перейдите на портал Confluent. На странице раздела отобразится пропускная способность рабочей среды.

Sample metrics

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

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