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
Clone o repositório de exemplo:
git clone https://github.com/Azure-Samples/serviceconnector-springcloud-confluent-springboot/
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
Entre no Confluent Cloud usando o SSO fornecido pelo Azure
Use o ambiente padrão ou crie um novo
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.
Em Visão geral do cluster ->Configurações do cluster, observe a URL do servidor Kafka Bootstrap.
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.
Criar um tópico nomeado
test
com partições 6 em Tópicos ->+ Adicionar tópicoEm Ambiente padrão, selecione a guia Registro de Esquema. Habilite o Registro de Esquema e anote o ponto de extremidade da API.
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
Entre no Azure e escolha sua assinatura.
az login az account set --subscription <Name or ID of your subscription>
Construa o projeto usando gradle.
./gradlew build
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.
Próximos passos
Siga os tutoriais listados abaixo para saber mais sobre o Service Connector.