Introduzione all'app di esempio
Nota
I piani Basic, Standard ed Enterprise saranno deprecati a partire dalla metà di marzo 2025, con un periodo di ritiro di 3 anni. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere l'annuncio di ritiro di Azure Spring Apps.
Il piano Standard a consumo e dedicato sarà deprecato a partire dal 30 settembre 2024, con un arresto completo dopo sei mesi. È consigliabile eseguire la transizione ad App Azure Container. Per altre informazioni, vedere Eseguire la migrazione del consumo di Azure Spring Apps Standard e del piano dedicato alle app Azure Container.
Questo articolo si applica a: ✔️ Basic/Standard ✔️ Enterprise
In questa guida introduttiva si usa l'app di esempio nota PetClinic per illustrare come distribuire app nel servizio Azure Spring Apps. L'esempio Pet Clinic illustra il modello di architettura del microservizio ed evidenzia la suddivisione dei servizi. Viene illustrato come distribuire i servizi in Azure con funzionalità di Azure Spring Apps, ad esempio l'individuazione dei servizi, il server di configurazione, i log, le metriche, la traccia distribuita e il supporto degli strumenti intuitivi per gli sviluppatori.
Per seguire gli esempi di distribuzione di Azure Spring Apps, è necessario solo il percorso del codice sorgente, fornito in base alle esigenze.
Il diagramma seguente mostra l'architettura dell'applicazione PetClinic.
Nota
Quando l'applicazione è ospitata nel piano Enterprise di Azure Spring Apps, il servizio di configurazione dell'applicazione gestito per VMware Tanzu assume il ruolo di Spring Cloud Config Server e il Registro di sistema del servizio VMware Tanzu gestito assume il ruolo di Eureka Service Discovery senza apportare modifiche al codice all'applicazione. Per altre informazioni, vedere la sezione Servizi di infrastruttura ospitati da Azure Spring Apps più avanti in questo articolo.
Servizi funzionali da distribuire
L'applicazione PetClinic è scomposta in quattro app Spring di base. Sono tutti applicazioni distribuibili in modo indipendente organizzate per dominio aziendale.
- Servizio clienti: contiene la logica di input e la convalida in generale, tra cui informazioni su animali domestici e proprietari (nome, indirizzo, città, telefono).
- Servizio visite: archivia e mostra le informazioni sulle visite per i commenti di ogni animale domestico.
- Servizio veterinari: archivia e mostra le informazioni dei veterinari, tra cui nomi e specializzazioni.
- Gateway API: il gateway API è un singolo punto di ingresso nel sistema, usato per gestire le richieste e indirizzarle a un servizio appropriato o per richiamare più servizi e aggregare i risultati. I tre servizi di base espongono un'API esterna al client. Nei sistemi reali il numero di funzioni può crescere rapidamente man mano che aumenta la complessità del sistema. Nel rendering di una pagina Web complessa potrebbero essere coinvolti centinaia di servizi.
Servizi di infrastruttura ospitati da Azure Spring Apps
I sistemi distribuiti presentano diversi modelli comuni che supportano i servizi di base. Azure Spring Cloud offre strumenti che consentono di ottimizzare le applicazioni Spring Boot per l'implementazione dei modelli seguenti:
- Servizio Config: Azure Spring Apps Config è un servizio di configurazione centralizzato scalabile orizzontalmente per sistemi distribuiti. Usa un repository collegabile che attualmente supporta l'archiviazione locale, Git e Subversion.
- Individuazione dei servizi: consente il rilevamento automatico dei percorsi di rete per le istanze del servizio, che potrebbero avere indirizzi assegnati dinamicamente a causa della scalabilità automatica, degli errori e degli aggiornamenti.
Configurazione del database
Nella configurazione predefinita, Pet Clinic usa un database in memoria (HSQLDB) popolato all'avvio con i dati. Una configurazione simile viene fornita per MySQL se è necessaria una configurazione di database persistente. Una dipendenza per Connector/J, il driver JDBC MySQL, è già inclusa nei file pom.xml.
Utilizzo di esempio di PetClinic
Per informazioni dettagliate complete sull'implementazione, vedere il fork di PetClinic. Gli esempi fanno riferimento al codice sorgente necessario.