Introdução ao aplicativo de exemplo
Observação
Os planos Básico, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de desativação de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira o anúncio de desativação dos Aplicativos Spring do Azure.
O plano Standard de consumo e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para mais informações, confira Migrar o plano Standard de consumo e dedicado dos Aplicativos Spring do Azure para os Aplicativos de Contêiner do Azure.
Este artigo se aplica ao: ✔️ nível Básico/Standard ✔️ nível Enterprise
Neste guia de início rápido, usamos o bem-conhecido exemplo de aplicativo PetClinic, que irá lhe mostrar como implantar aplicativos no serviço dos Aplicativos Spring do Azure. O exemplo do Pet Clinic demonstra o padrão de arquitetura de microsserviço e realça o detalhamento de serviços. Você verá como implantar serviços no Azure com recursos dos Aplicativos Spring do Azure, entre eles descoberta de serviço, servidor de configuração, logs, métricas, rastreamento distribuído e suporte de ferramentas fáceis de usar para o desenvolvedor.
Para seguir os exemplos de implantação do Azure Spring Apps, você precisa apenas da localização do código-fonte, que é fornecido conforme necessário.
O diagrama a seguir mostra a arquitetura do aplicativo PetClinic.
Observação
Quando o aplicativo é hospedado no plano Enterprise dos Aplicativos Spring do Azure, o Serviço de Configuração do Aplicativo gerenciado do VMware Tanzu assume a função do Servidor de Configuração do Spring Cloud e o Registro de Serviço gerenciado do VMware Tanzu assume a função do Eureka Service Discovery sem nenhuma alteração de código no aplicativo. Para saber mais, confira a seção Serviços de infraestrutura hospedados pelo Azure Spring Apps mais adiante neste artigo.
Serviços funcionais a serem implantados
O PetClinic é composto por quatro aplicativos Spring principais. Todos eles são aplicativos implantáveis independentemente organizados por domínios empresariais.
- Serviço de atendimento ao cliente: contém a lógica de entrada de usuário e validação geral, incluindo informações sobre animais de estimação e proprietários (nome, endereço, cidade e telefone).
- Serviço de visitas: armazena e mostra informações sobre visitas para os comentários de cada animal de estimação.
- Serviço de veterinário: armazena e mostra informações sobre veterinários, incluindo nomes e especialidades.
- Gateway de API: o Gateway de API é um ponto de entrada único no sistema, usado para processar solicitações e roteá-las para um serviço apropriado ou para invocar vários serviços e agregar os resultados. Os três serviços principais expõem uma API externa ao cliente. Em sistemas reais, o número de funções pode crescer muito rapidamente conforme a complexidade do sistema. Centenas de serviços podem estar envolvidos na renderização de uma página da Web complexa.
Serviços de infraestrutura hospedados pelo Azure Spring Apps
Há vários padrões comuns em sistemas distribuídos que dão suporte aos principais serviços. O Azure Spring Apps fornece ferramentas que aprimoram os aplicativos Spring Boot para implementar os seguintes padrões:
- Serviço de configuração: a Configuração do Azure Spring Apps é um serviço de configuração centralizado e escalonável horizontalmente para sistemas distribuídos. Ela usa um repositório conectável que atualmente dá suporte ao armazenamento local, Git e Subversion.
- Descoberta de serviço: permite a detecção automática de locais de rede para instâncias de serviço, que podem ter endereços atribuídos dinamicamente devido a dimensionamento automático, falhas e atualizações.
Configuração do banco de dados
Na configuração padrão, o Pet Clinic usa um banco de dados em memória (HSQLDB) que é preenchido na inicialização com os dados. Uma configuração semelhante é fornecida para o MySQL se uma configuração de banco de dados persistente é necessária. A dependência do Conector/J, o driver JDBC do MySQL, já está incluída nos arquivos pom.xml.
Exemplo de uso do PetClinic
Para obter detalhes sobre a implementação completa, confira nosso fork do PetClinic. Os exemplos fazem referência ao código-fonte, conforme necessário.