Partilhar via


Tutorial: Implantar um aplicativo Spring Boot conectado ao Apache Kafka no Confluent Cloud with Service Connector no Azure Spring Apps

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

  • Crie o Apache Kafka no Confluent Cloud
  • Criar um aplicativo Spring Cloud
  • Crie e implante o aplicativo Spring Boot
  • Conectar o Apache Kafka no Confluent Cloud ao Azure Spring Apps usando o Service Connector

Aviso

A Microsoft recomenda que você use o fluxo de autenticação mais seguro disponível. O fluxo de autenticação descrito neste procedimento requer um grau muito alto de confiança no aplicativo e acarreta 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 subscrição ativa. Crie uma conta gratuitamente.

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

  • Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.

  • Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.

    • Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.

    • Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.

    • Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.

Clone ou baixe 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 serviços na nuvem

Criar uma instância do Apache Kafka para Confluent Cloud

Crie uma instância do Apache Kafka para Confluent Cloud seguindo estas orientações.

Criar cluster Kafka e registro de esquema no Confluent Cloud

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

    O link do logon do SSO na nuvem Confluent usando o portal do Azure

  2. Use o ambiente padrão ou crie um novo

    Ambiente de nuvem do Apache Kafka no Confluent Cloud

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

    • Tipo de cluster: Padrão
    • Região/zonas: eastus(Virginia), Single Zone
    • Nome do cluster: cluster_1 ou qualquer outro nome.
  4. Em Visão geral do cluster ->Configurações do cluster, observe a URL do servidor Kafka Bootstrap.

    Configurações de cluster do Apache Kafka no 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. Criar um tópico nomeado 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 registro de esquema. Guarde 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 Azure Spring Apps em Java. Verifique se sua instância do Azure Spring Apps foi criada em uma região que tenha suporte ao Service Connector.

Criar e implementar a aplicação

Crie o aplicativo de exemplo e crie um novo aplicativo de primavera

  1. Entre no Azure e escolha sua assinatura.

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

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

    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 Service Connector

Execute o seguinte comando para conectar seu Apache Kafka no 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 próprios dados:

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

Nota

Se vir a mensagem de erro "A subscrição não está registada para utilizar Microsoft.ServiceLinker", execute az provider register -n Microsoft.ServiceLinker para registar o fornecedor de recursos do Service Connector e execute novamente o comando de ligação.

Implantar o arquivo JAR

Execute o seguinte comando para carregar o arquivo JAR (build/libs/java-springboot-0.0.1-SNAPSHOT.jar) para 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 de Kafka

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

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

Exemplo de métricas

Próximos passos

Siga os tutoriais listados abaixo para saber mais sobre o Service Connector.