Compartilhar via


Tutorial: implantar um aplicativo Spring Boot conectado ao Apache Kafka na Confluent Cloud com o Conector de Serviço no Azure Spring Apps

Saiba como acessar o Apache Kafka na Confluent Cloud para um aplicativo Spring Boot em execução no Azure Spring Apps. Neste tutorial, você completa as seguintes tarefas:

  • Criar um Apache Kafka na Confluent Cloud
  • Criar um aplicativo Spring Cloud
  • Compilar e implantar o aplicativo Spring Boot
  • Conectar o Apache Kafka na Confluent Cloud ao Azure Spring Apps usando o Conector de Serviço

Aviso

A Microsoft recomenda usar o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento exige um grau muito alto de confiança no aplicativo e traz riscos que não estão presentes em outros fluxos. Você só deve usar esse fluxo quando outros fluxos mais seguros, como identidades gerenciadas, não forem viáveis.

Pré-requisitos

  • Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.

  • Java 8 ou uma versão mais recente com LTS (suporte de longo prazo) 1.

Clonar ou baixar o aplicativo de exemplo

  1. Clone o repositório de exemplo:

    git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
    
  2. Navegue até a seguinte pasta:

    cd serviceconnector-springcloud-confluent-springboot
    

Preparar os serviços de nuvem

Criar uma instância do Apache Kafka para a Confluent Cloud

Crie uma instância do Apache Kafka para a Confluent Cloud seguindo estas diretrizes.

Criar um cluster do Kafka e um registro de esquema na Confluent Cloud

  1. Entrar no Confluent Cloud usando o SSO fornecido pelo Azure

    O link do logon de SSO da Confluent Cloud usando portal do Azure

  2. Usar o ambiente padrão ou criar um novo

    Ambiente de nuvem do Apache Kafka na Confluent Cloud

  3. Crie um cluster do Kafka com as seguintes informações:

    • Tipo de cluster: Standard
    • Região/zonas: eastus (Virgínia), Zona Única
    • Nome do cluster: cluster_1 ou qualquer outro nome.
  4. Em Visão geral do cluster ->Configurações do cluster, observe o URL do servidor de inicialização do Kafka.

    Configurações do cluster do Apache Kafka na Confluent Cloud

  5. Crie chaves de API para o cluster em Integração de dados –>Chaves de API –>+ Adicionar chave com Acesso global. Anote a chave e o segredo.

  6. Crie um tópico chamado test com partições 6 em Tópicos ->+ Adicionar tópico

  7. Em ambiente padrão, selecione a guia Registro de Esquema. Habilite o Registro de Esquema e anote o ponto de extremidade da API.

  8. Crie chaves de API para o registro de esquema. Salve a chave e o segredo.

Criar uma instância do Azure Spring Apps

Crie uma instância do Azure Spring Apps seguindo o início rápido do Spring Apps em Java. Verifique se a sua instância de Aplicativos Spring do Azure foi criada em uma região que tenha suporte para o Conector de Serviço.

Compilar e implantar o aplicativo

Compilar o aplicativo de exemplo e criar um aplicativo Spring

  1. Entre no Azure e selecione a sua assinatura.

    az login
    
    az account set --subscription <Name or ID of your subscription>
    
  2. Compile o projeto usando o Gradle.

    ./gradlew build
    
  3. Crie o aplicativo com um ponto de extremidade público atribuído. Se você selecionou a versão 11 do Java ao gerar o projeto Spring Cloud, inclua a opção --runtime-version=Java_11.

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

Criar uma conexão de serviço usando o Conector de Serviço

Execute o comando a seguir para conectar seu Apache Kafka na Confluent Cloud ao seu aplicativo 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>

Substitua os seguintes textos de espaço reservado pelos seus dados:

  • Substitua <your-resource-group-name> pelo nome do grupo de recursos no qual você criou sua instância de aplicativo do Spring Apps.
  • Substitua <kafka-bootstrap-server-url> pelo URL do servidor de inicialização do Kafka. Por exemplo: pkc-xxxx.eastus.azure.confluent.cloud:9092.
  • Substitua <cluster-api-key> e <cluster-api-secret> pelo segredo e a chave de API do cluster.
  • Substitua <kafka-schema-registry-endpoint> pelo ponto de extremidade do Registro de Esquema do Kafka. Por exemplo: https://psrc-xxxx.westus2.azure.confluent.cloud.
  • Substitua <registry-api-key> e <registry-api-secret> pela chave de API e o segredo do registro de esquema do Kafka.

Observação

Caso veja a mensagem de erro “A assinatura não está registrada para usar o Microsoft.ServiceLinker”, execute az provider register -n Microsoft.ServiceLinker para registrar o provedor de recursos do Conector de Serviço e execute o comando de conexão novamente.

Implantar o arquivo JAR

Execute o comando a seguir para carregar o arquivo JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) em seu aplicativo 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

Validar a ingestão de dados do Kafka

Navegue até o ponto de extremidade do aplicativo Spring Cloud a partir do portal do Azure e selecione a URL do aplicativo. Você verá "Dez mensagens foram produzidas para o teste de tópico".

Em seguida, vá para o portal da Confluent e a página do tópico mostrará a taxa de transferência de produção.

Métricas de exemplo

Próximas etapas

Siga os tutoriais listados abaixo para saber mais sobre o Conector de Serviço.