Microservizi che utilizzano Spring Boot e Spring Cloud
Pubblicato: 2020-09-04Sommario
Introduzione ai microservizi
I microservizi sono piccoli servizi autosufficienti che interagiscono tra loro per raggiungere un obiettivo aziendale complesso. Questi servizi sono indipendenti e completi in modo che possano essere costruiti da vari team di sviluppo, utilizzando diversi linguaggi di programmazione e archivi di dati. I microservizi sono scalabili individualmente e possono essere distribuiti automaticamente. Sono di facile manutenzione e offrono una maggiore tolleranza agli errori rispetto ai servizi monolitici. Tuttavia, sono liberamente accoppiati e sono in grado di interagire tra loro per raggiungere gli obiettivi di un'applicazione più ampia.
Sul mercato sono disponibili vari strumenti che consentono di creare software utilizzando un'architettura di microservizi. Spring Cloud e Spring Boot sono framework di microservizi Java popolari.
Spring Boot è una piattaforma di sviluppo di applicazioni supponente costruita utilizzando il framework Spring utilizzato per sviluppare applicazioni Web Java. Allo stesso tempo, è personalizzabile e puoi configurarlo in base alle tue esigenze. Gli aspetti di base del tutorial sulla nuvola di primavera saranno discussi in questo blog.
Microservizi che utilizzano Spring Boot e Spring Cloud
Questo tutorial su Spring Cloud fornisce una panoramica di base sulla creazione di una semplice applicazione di microservizi utilizzando Spring Boot e Spring Cloud. Inoltre, il tutorial fornisce collegamenti alla documentazione pertinente che ti aiuterà a raggiungere i tuoi obiettivi di apprendimento. Dovrai fare quanto segue:
1. Creare un nuovo servizio utilizzando Spring Boot utilizzando Spring Initializer
Secondo l' esercitazione sul cloud di primavera, il primo passaggio consiste nel creare una struttura di progetto utilizzando l'inizializzatore di primavera. L'inizializzatore fornisce un modo rapido per aggiungere tutte le dipendenze necessarie per il progetto. Ad esempio, puoi scegliere il progetto Maven, Java e Spring Boot versione 2.0.0. I progetti Maven richiedono un ID gruppo e un ID Artefact, simili al pacchetto e alla classe in Java.
Dovrai anche scegliere le dipendenze, ad esempio Web (per iniziare a sviluppare applicazioni Web), DevTools (semplifica lo sviluppo di applicazioni), Actuator (per monitorare l'app) e Config Client (per connettere l'applicazione a Spring Config server). Dopo aver selezionato tutte le opzioni, genererai il progetto. Per ulteriori informazioni, fare riferimento a Iniziare con l'inizializzatore di primavera nella risorsa Creazione di un servizio Web RESTful . Fare riferimento a Spring Data JPA per informazioni su come connettersi al database.

2. Garantire la denominazione e l'individuazione del servizio
Tutti i microservizi devono essere registrati per scoprire quando un altro servizio nell'architettura li sta cercando. Ad esempio, un servizio specifico potrebbe voler trovare tutte le istanze di un altro servizio in esecuzione in un determinato ambiente. In questo tutorial sul cloud primaverile , imparerai che il server di denominazione memorizza le informazioni su tutti i servizi e le loro istanze e fornisce le informazioni a coloro che le cercano. Pertanto, aiuta nel processo di scoperta del servizio. Per ulteriori informazioni sulla registrazione e il rilevamento dei servizi, fare riferimento a Registrazione e rilevamento dei microservizi con Spring Cloud e Eureka di Netflix .

Leggi: Progetti e argomenti di avvio primaverile
3. Richiamare altri microservizi
Con Spring Cloud, è necessario effettuare diverse chiamate ad altri componenti e servizi. Ciò si ottiene utilizzando Feign che elimina la complessità del processo consentendo di scrivere più facilmente i client di servizi Web. Per ulteriori informazioni, fare riferimento a Spring Cloud Open Feign .
4. Garantire il bilanciamento del carico
Come per questo tutorial sul cloud di primavera, Feign fornisce anche l'integrazione con Ribbon, un framework di bilanciamento del carico lato client. La barra multifunzione consente di utilizzare la configurazione di Feign per distribuire le chiamate e bilanciarle tra tutte le istanze di un servizio a cui un altro servizio desidera connettersi. Per ulteriori informazioni, fare riferimento a Bilanciamento del carico lato client con Ribbon e Spring Cloud .
5. Gestisci centralmente la configurazione dei microservizi utilizzando Spring Cloud Config Server
Secondo questo tutorial sul cloud primaverile, un'applicazione usa più microservizi, più ambienti per questi microservizi e anche varie istanze di questi servizi in esecuzione negli ambienti. Spring Configuration Server fornisce una posizione centralizzata per archiviare le informazioni di configurazione relative a tutte queste istanze di microservizi.
Di conseguenza, questa configurazione è disponibile in un'unica posizione e deve essere utilizzata da qualsiasi servizio nell'architettura. Per gestire la configurazione in modo centralizzato, definirai le proprietà relative a un nuovo servizio, quindi collegherai il server Spring Config associato utilizzando Git come repository di codice. Per ulteriori informazioni, fare riferimento alla documentazione Panoramica di Spring Config . Per informazioni su come connettere Spring Config con Git, fare riferimento a Spring Cloud Config .
Leggi anche: Stipendio primaverile per sviluppatori in India
6. Stabilisci la sicurezza con Spring Cloud
In un'architettura di microservizi, in cui centinaia di microservizi lavorano insieme, è essenziale disporre di controlli sull'autenticazione e sull'autorizzazione. Oltre alla sicurezza, ci sono considerazioni come metriche, limiti e così via. Un gateway API consente di implementare funzionalità comuni a tutti i servizi.

Ad esempio, Zuul Server è un'applicazione API Gateway che gestisce le richieste ed esegue il routing dinamico delle applicazioni di microservizi. Fare riferimento a Spring Cloud Gateway per saperne di più in questo tutorial sul cloud primaverile l .
7. Abilita tolleranza ai guasti
Una considerazione importante durante l'implementazione dei microservizi è che se un componente smette di funzionare, l'intera applicazione può interrompersi. Il framework Hystrix aiuta a creare microservizi a tolleranza d'errore utilizzando i quali è possibile aggiornare in modo corretto le funzionalità quando una chiamata al metodo non riesce. Ciò consente a un microservizio di continuare a funzionare in caso di errore di un servizio correlato, impedendo che l'errore si verifichi a cascata e concedendo al servizio in errore il tempo di ripristino.
Dai un'occhiata: Spiegazione del ciclo di vita dei fagioli di primavera
Conclusione
Si spera che questo tutorial di Spring Cloud serva come punto di partenza essenziale per iniziare.
Se sei interessato a saperne di più su Spring Cloud, dai un'occhiata al diploma PG di upGrad e IIIT-B in sviluppo software full-stack, progettato per i professionisti che lavorano e offre oltre 500 ore di formazione rigorosa, oltre 9 progetti e incarichi, IIIT -B Status di ex alumni, progetti pratici pratici e assistenza sul lavoro con le migliori aziende.
