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.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Clonar ou baixar 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 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
Entrar no Confluent Cloud usando o SSO fornecido pelo Azure
Usar o ambiente padrão ou criar um novo
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.
Em Visão geral do cluster ->Configurações do cluster, observe o URL do servidor de inicialização do Kafka.
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.
Crie um tópico chamado
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 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
Entre no Azure e selecione a sua assinatura.
az login az account set --subscription <Name or ID of your subscription>
Compile o projeto usando o Gradle.
./gradlew build
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.
Próximas etapas
Siga os tutoriais listados abaixo para saber mais sobre o Conector de Serviço.