Arhitectura microservicii - curs 46.900 rub. de la IBS Training Center, antrenament 24 de ore, Data 27 noiembrie 2023.
Miscelaneu / / November 27, 2023
Arhitectura de microservicii (MSA) a câștigat relativ recent faima ca cea mai populară abordare arhitecturală. Utilizarea acestuia oferă multe beneficii în diferite etape ale ciclului de viață al produsului. În special, MCA permite timpi de răspuns mai rapid la cerințele de afaceri, ceea ce îl face adesea superior altor stiluri arhitecturale.
Cu toate acestea, în procesul de dezvoltare a sistemelor MCA, arhitectul se confruntă cu multe provocări, dintre care multe îi determină pe începători să se retragă.
Erorile de descompunere pot duce la o creștere serioasă a complexității dezvoltării. Performanța suferă din cauza latenței insurmontabile a rețelei. Stocarea distribuită a datelor nu permite consistența tranzacțiilor. Un număr mare de componente care interacționează prin rețea reduce fiabilitatea. Greu de asigurat securitatea. În plus, testarea și întreținerea unui sistem distribuit necesită o discuție separată.
Acest curs va arăta avantajele și dezavantajele utilizării MCA. Vă va ajuta să luați o decizie informată cu privire la aplicabilitatea ISA în funcție de nevoile afacerii și de capacitățile echipei. Cursul examinează principalele probleme asociate cu implementarea unei arhitecturi de microservicii. Strategii, mecanisme, tipare care rezolvă problemele enunțate mai sus. Pentru fiecare problemă discutată, vor fi prezentate cele mai comune instrumente (cum ar fi Kubernetes, Istio, Histryx, Kibana și multe altele).
Exercițiile practice vă vor permite să dobândiți abilitățile de proiectare independentă a sistemelor MCA.
Subiecte acoperite:
1. Stiluri arhitecturale (2 ore)
Concepte de monolit, SOA, MSA.
Comparație și justificare pentru alegere.
2. Modele de descompunere MSA (2 ore)
Dimensiunea optimă a microserviciului;
Defalcarea serviciilor pe oportunitate de afaceri;
Defalcarea serviciilor pe zone cu probleme;
Practici de definire a disciplinelor;
Descompunerea după aspecte tehnice și organizatorice.
3. Organizarea dezvoltării pentru MSA (1 oră)
Organizarea echipelor sub MSA;
Organizarea unui depozit de coduri sub MSA.
4. Integrare microservicii (3 ore)
Modele de interacțiune;
Mecanisme de interacțiune sincrone și asincrone;
Orchestrație și coregrafie;
Protocoale și tehnologii de bază (REST, gRPC, GraphQL, Kafka, RabbitMQ etc.);
Interacțiune cu sisteme externe (API Gateway, BFF);
Sisteme reactive;
Arhitecturi bazate pe evenimente;
Separarea comandei si a cererii.
5. Organizarea muncii cu date în MSA (3 ore)
Modele de lucru cu date;
Generarea de evenimente;
Date de referință în MSA;
Sursa unică a adevărului (Sursa adevărului) în MSA.
6. Șabloane ISA de bază (9 ore)
Modificabilitate.
Rezolvarea problemei conectivității ridicate. Versiunea interfețelor și a evenimentelor. Tipuri de contracte. Modificări în modelul evenimentului. Modele de organizare a cererilor. Șasiu pentru microservicii. Service Mesh.
Scalabilitate.
Modele pentru construirea balansoarelor. Servicii de detectare și modele de lucru cu acestea.
Performanţă.
Modele de performanță în MSA (exces, degradare grațioasă etc.).
Consecvență.
Probleme de coerență în MSA. teorema CAP. Soluții la problemele de consistență. Comite în două faze. Model SAGA. Nivel de consistență redus.
Fiabilitate.
Mecanisme de toleranță la erori. Modele de întrerupătoare, accelerare, timeout-uri dependente etc.
Siguranță.
Mecanisme de securitate în MSA. Autentificare. Autorizare. Protecție perimetrală. Protecția canalelor de comunicare. Protocoale și modele de bază (OAUTH2, JWT, gatekeeper, cheie de valet etc.).
Testabilitate.
Testarea piramidală și pătrată. Caracteristici de testare a microserviciilor.
Testarea unitară. Testarea integrării. Testarea componentelor. Testarea E2E. Modele de testare MSA.
Ușurință de întreținere.
Observabilitate. Modele de monitorizare (urmărire distribuită, agregare de jurnal). Monitorizare și logare. Configurarea microserviciilor. Externalizarea configurației. Suport de sistem.
7. Implementarea microservicii (2 ore)
Modelul „conductă de implementare”;
Modele de implementare;
Utilizarea tehnologiilor Docker și Kubernetes;
Utilizarea grilei ISTIO;
Implementare fără server;
Strategii de implementare (albastru-verde, canar etc.).
8. Strategii de migrare de la monolit la MSA (2 ore)
Strategii de migrare de la monolit la microservicii;
Monolit strangler;
Modele de strangulare;
Comunicarea între un microserviciu și un monolit;
Migrarea bazei de date.