I microservizi possono aiutare le organizzazioni a creare applicazioni più facili da scalare, distribuire, mantenere ed evolvere. Tuttavia, le architetture distribuite introducono anche sfide che coinvolgono comunicazione, tolleranza ai guasti, coerenza dei dati, confini dei servizi e integrazione frontend. Questo corso fornisce un'introduzione strutturata alla risoluzione di queste sfide attraverso modelli di progettazione comprovati dei microservizi.
Inizierete esaminando le basi dell'architettura dei microservizi e comprendendo come i microservizi differiscono dalle applicazioni monolitiche tradizionali. Il corso introduce quindi il ruolo dei modelli di progettazione e spiega come forniscono soluzioni riutilizzabili a problemi comuni dei sistemi distribuiti.
Esplorerete il Modello Aggregatore, imparando come le risposte da più servizi possono essere combinate in un risultato unificato. Il Modello API Gateway dimostra come un punto di ingresso centrale può gestire il routing e semplificare la comunicazione tra client e servizi backend.
Il corso copre il Modello della Catena di Responsabilità per l'elaborazione delle richieste attraverso una sequenza di gestori indipendenti. Esaminerete anche la Messaggistica Asincrona, che supporta una comunicazione a coppia libera e aiuta i servizi a operare senza attendere risposte immediate.
Una lezione dedicata introduce il Modello Interruttore di Circuito, spiegando come le applicazioni possono rilevare guasti dei servizi, prevenire richieste ripetute senza successo e ridurre il rischio di guasti a catena. Questi principi di resilienza aiutano le applicazioni distribuite a rimanere disponibili quando i singoli servizi incontrano problemi.
Studierete poi i modelli di dati e strutturali, inclusi il Modello di Database Condiviso, il Modello di Ramificazione e il Modello di Decomposizione. Queste lezioni spiegano come i servizi possono essere separati, come i flussi di lavoro possono ramificarsi tra i componenti e come le applicazioni più grandi possono essere suddivise in capacità aziendali gestibili.
Il corso copre anche CQRS, che separa le responsabilità di comando e query, e l'Event Sourcing, che registra i cambiamenti come una sequenza di eventi. Questi modelli possono supportare flussi di lavoro scalabili, tracciabilità e modelli di dati più flessibili.
Infine, esplorerete il Modello Backend per Frontend, che fornisce servizi backend dedicati per diverse interfacce come applicazioni web e mobili. La guida sulla selezione di modelli appropriati e l'uso di strumenti di visualizzazione del codice vi aiuterà a valutare le scelte architetturali e a comprendere le relazioni tra i servizi.
Completando il corso,
Benefici: Comprendere i principi e le caratteristiche architettoniche dei microservizi.
Identificare e applicare 11 modelli di progettazione comuni dei microservizi.
Implementare i modelli Aggregatore e API Gateway per la comunicazione dei servizi.
Usare la Catena di Responsabilità per organizzare i flussi di lavoro di elaborazione delle richieste.
Applicare la messaggistica asincrona per creare servizi a coppia libera.
Migliorare la resilienza del sistema attraverso il modello Interruttore di Circuito.
Usare tecniche di decomposizione e ramificazione per definire i confini dei servizi.
Applicare CQRS e Event Sourcing ai flussi di lavoro dei dati distribuiti.
Progettare backend specializzati usando il modello Backend per Frontend.
Selezionare modelli adatti in base alle esigenze di scalabilità, resilienza e manutenibilità.