Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Neste início rápido, você aprenderá a implantar um aplicativo nos Aplicativos de Contêiner do Azure que usa componentes Java para lidar com o gerenciamento de configuração, a descoberta de serviços e a integridade e as métricas. O aplicativo de exemplo usado nesse exemplo é o Java PetClinic, que usa o padrão de arquitetura de microsserviços. O diagrama a seguir mostra a arquitetura do aplicativo PetClinic nos Aplicativos de Contêiner do Azure:
O aplicativo PetClinic inclui os seguintes recursos:
- O front-end é um aplicativo Web Node.js autônomo hospedado no aplicativo de gateway de API.
- O gateway de API roteia solicitações para aplicativos de serviço de back-end.
- Os aplicativos de back-end são criados com Spring Boot.
- Cada aplicativo de back-end usa um banco de dados HyperSQL como repositório persistente.
- Os aplicativos usam componentes Java gerenciados nos Aplicativos de Contêiner do Azure, incluindo um registro de serviço, um servidor de configuração e um servidor de administração.
- O servidor de configuração lê dados de um repositório Git.
- Um workspace do Log Analytics registra os dados do servidor.
Neste tutorial, você:
- Crie um servidor de configuração, um servidor Eureka, um servidor de administração e componentes de administração
- Crie uma série de aplicativos de microsserviços
- Vincule os componentes do servidor aos seus aplicativos de microsserviços
- Implante a coleção de aplicativos
- Revise os aplicativos implantados
Ao final deste artigo, você implantará um aplicativo Web e três aplicativos de back-end configurados para trabalhar com três componentes Java diferentes. Você poderá gerenciar cada componente por meio do portal do Azure.
Pré-requisitos
- Conta do Azure: se você não tiver uma conta do Azure, crie uma gratuitamente. Você precisa da permissão de Colaborador ou Proprietário na assinatura do Azure para usar esse início rápido. Para obter mais informações, confira Atribuir funções do Azure usando o portal do Azure.
- CLI do Azure: Instalar a CLI do Azure.
- Extensão da CLI de Aplicativos de Contêiner do Azure. Use a versão 0.3.47 ou superior. Use o comando
az extension add --name containerapp --upgrade --allow-preview
para instalar a versão mais recente.
Instalação
Para criar variáveis de ambiente, um grupo de recursos e um ambiente de Aplicativos de Contêiner do Azure, use as etapas a seguir:
As variáveis de ambiente contêm seus valores personalizados, portanto, substitua os valores de espaço reservado entre
<>
pelos seus próprios valores antes de executar os seguintes comandos:export RESOURCE_GROUP=<RESOURCE_GROUP> export LOCATION=<LOCATION> export CONTAINER_APP_ENVIRONMENT=<CONTAINER_APPS_ENVIRONMENT>
Agora você criará mais variáveis de ambiente que contêm as configurações do seu aplicativo de microsserviços. Esses valores são usados para definir os nomes e as configurações dos componentes Java e dos Aplicativos de Contêiner do Azure que você usa para implantar os microsserviços. Crie essas variáveis de ambiente usando os seguintes comandos:
export CONFIG_SERVER_COMPONENT=configserver export ADMIN_SERVER_COMPONENT=admin export EUREKA_SERVER_COMPONENT=eureka export CONFIG_SERVER_URI=https://github.com/spring-petclinic/spring-petclinic-microservices-config.git export CUSTOMERS_SERVICE=customers-service export VETS_SERVICE=vets-service export VISITS_SERVICE=visits-service export API_GATEWAY=api-gateway export CUSTOMERS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-customers-service export VETS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-vets-service export VISITS_SERVICE_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-visits-service export API_GATEWAY_IMAGE=ghcr.io/azure-samples/javaaccelerator/spring-petclinic-api-gateway
Entre na CLI do Azure e escolha sua assinatura ativa usando o seguinte comando:
az login
Crie um grupo de recursos para organizar seus serviços do Azure usando o seguinte comando:
az group create \ --name $RESOURCE_GROUP \ --location $LOCATION
Crie seu ambiente de Aplicativos de Contêiner do Azure, que hospeda tanto os componentes Java quanto seus aplicativos de contêiner, usando o seguinte comando:
az containerapp env create \ --resource-group $RESOURCE_GROUP \ --name $CONTAINER_APP_ENVIRONMENT \ --location $LOCATION
Criar componentes Java
Agora você criará os seguintes componentes Java que dão suporte ao seu aplicativo:
- Servidor de configuração. Usado para gerenciar as definições de configuração dos seus aplicativos de microsserviços.
- Servidor Eureka. Usado para gerenciar o registro e a descoberta de serviços.
- Servidor de administração. Usado para monitorar e gerenciar a integridade e as métricas dos seus aplicativos de microsserviços.
Para criar esses componentes de servidor, use as etapas a seguir:
Crie o servidor de configuração para seus componentes Java usando o seguinte comando:
az containerapp env java-component config-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $CONFIG_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --configuration spring.cloud.config.server.git.uri=$CONFIG_SERVER_URI
Crie o servidor Eureka para seus componentes Java usando o seguinte comando:
az containerapp env java-component eureka-server-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Crie o servidor de administração para seus componentes Java usando o seguinte comando:
az containerapp env java-component admin-for-spring create \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT --environment $CONTAINER_APP_ENVIRONMENT \
Implantar os aplicativos de microsserviços
Para implantar os aplicativos de microsserviços Java nos Aplicativos de Contêiner do Azure usando as imagens de contêiner pré-criadas, use as etapas a seguir:
Observação
Neste artigo, você usará uma série de imagens criadas para os aplicativos de microsserviços Spring Petclinic. Você também tem a opção de personalizar o código de exemplo e usar suas próprias imagens. Para obter mais informações, confira o repositório GitHub de exemplos Java nos Aplicativos de Contêiner do Azure.
Crie o aplicativo de dados do cliente usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $CUSTOMERS_SERVICE_IMAGE
Crie o aplicativo de veterinário usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VETS_SERVICE_IMAGE
Crie o aplicativo de visitas usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $VISITS_SERVICE_IMAGE
Crie o aplicativo de gateway de API usando o seguinte comando:
az containerapp create \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --environment $CONTAINER_APP_ENVIRONMENT \ --image $API_GATEWAY_IMAGE \ --ingress external \ --target-port 8080 \ --query properties.configuration.ingress.fqdn
Vincular aplicativos de contêiner a componentes Java
Em seguida, vincule os componentes Java aos seus aplicativos de contêiner. As vinculações que você criar nessa seção fornecem a seguinte funcionalidade:
- Injetar dados de configuração em cada aplicativo do servidor de configuração gerenciado na inicialização.
- Registrar o aplicativo no servidor Eureka gerenciado para descoberta de serviços.
- Habilitar o servidor de administração para monitorar o aplicativo.
Use o comando containerapp update
para criar vinculações para cada aplicativo usando as etapas a seguir:
Adicione associações ao aplicativo de dados do cliente usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $CUSTOMERS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Adicione associações ao serviço de veterinário usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VETS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Adicione associações ao serviço de visitas usando o seguinte comando:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $VISITS_SERVICE \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT
Adicione associações ao gateway de API. Use o seguinte comando para retornar a URL do aplicativo de front-end e abrir este local no navegador:
az containerapp update \ --resource-group $RESOURCE_GROUP \ --name $API_GATEWAY \ --bind $CONFIG_SERVER_COMPONENT $EUREKA_SERVER_COMPONENT $ADMIN_SERVER_COMPONENT \ --query properties.configuration.ingress.fqdn
Verificar o status do aplicativo
Use as etapas a seguir para verificar o status do aplicativo:
Usando a URL retornada do comando
az containerapp update
do gateway de API, exiba o aplicativo de front-end no navegador. O aplicativo deve se parecer com a captura de tela a seguir:Exiba o painel do servidor Eureka usando as etapas a seguir:
Importante
Para exibir o painel do servidor Eureka e o painel de Administração do Spring, você precisa ter pelo menos a função
Microsoft.App/managedEnvironments/write
atribuída à sua conta no recurso de ambiente gerenciado. Você pode atribuir explicitamente a funçãoOwner
ou a funçãoContributor
no recurso. Você também pode seguir as etapas para criar uma definição de função personalizada e atribuí-la à sua conta.Execute o seguinte comando para retornar a URL do painel:
az containerapp env java-component eureka-server-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $EUREKA_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
Abra a URL no navegador. Você deverá ver um aplicativo semelhante à captura de tela a seguir:
Exiba o painel de Administração do Spring usando as etapas a seguir:
Use o seguinte comando para retornar a URL do painel:
az containerapp env java-component admin-for-spring show \ --resource-group $RESOURCE_GROUP \ --name $ADMIN_SERVER_COMPONENT \ --environment $CONTAINER_APP_ENVIRONMENT \ --query properties.ingress.fqdn
Abra a URL no navegador. Você deverá ver um aplicativo semelhante à captura de tela a seguir:
Opcional: Configurar componentes Java
Você pode configurar os componentes Java criados nesse início rápido por meio do portal do Azure usando a seção Configurações.
Para obter mais informações sobre como configurar os três componentes Java criados nesse início rápido, confira os links a seguir:
Limpar os recursos
Os recursos criados nesse início rápido têm impacto na sua fatura do Azure. Se você não quiser usar esses serviços a longo prazo, use o seguinte comando para remover tudo o que foi criado nesse início rápido:
az group delete --resource-group $RESOURCE_GROUP