Architektura mikroservisů - kurz 46 900 rub. z IBS Training Center, školení 24 hodin, Datum 27. listopadu 2023.
Různé / / November 27, 2023
Architektura mikroslužeb (MSA) se relativně nedávno proslavila jako nejpopulárnější architektonický přístup. Jeho použití poskytuje mnoho výhod v různých fázích životního cyklu produktu. MCA zejména umožňuje rychlejší odezvu na obchodní požadavky, díky čemuž je často lepší než jiné architektonické styly.
V procesu vývoje systémů MCA však architekt čelí mnoha výzvám, z nichž mnohé způsobují, že se začátečníci vrátí zpět.
Chyby rozkladu mohou vést k vážnému zvýšení složitosti vývoje. Výkon trpí kvůli nepřekonatelné latenci sítě. Distribuované úložiště dat neumožňuje transakční konzistenci. Velký počet komponent interagujících po síti snižuje spolehlivost. Je obtížné zajistit bezpečnost. Kromě toho testování a údržba distribuovaného systému vyžaduje samostatnou diskusi.
Tento kurz ukáže výhody a nevýhody používání MCA. Pomůže vám učinit informované rozhodnutí o použitelnosti ISA v závislosti na potřebách podniku a schopnostech týmu. Předmět zkoumá hlavní problémy spojené s implementací architektury mikroslužeb. Strategie, mechanismy, vzorce, které řeší výše uvedené problémy. U každého diskutovaného problému budou prezentovány nejběžnější nástroje (např. Kubernetes, Istio, Histryx, Kibana a mnoho dalších).
Praktická cvičení Vám umožní získat dovednost samostatného návrhu MCA systémů.
Pokrytá témata:
1. Architektonické styly (2 hodiny)
Koncepce monolitu, SOA, MSA.
Srovnání a zdůvodnění výběru.
2. Vzory rozkladu MSA (2 hodiny)
Optimální velikost mikroslužeb;
Rozdělení služeb podle obchodních příležitostí;
Rozdělení služeb podle problémových oblastí;
Cvičení pro definování tematických oblastí;
Rozklad podle technických a organizačních hledisek.
3. Organizace vývoje pro MSA (1 hodina)
Organizace týmů v rámci MSA;
Organizace úložiště kódu v rámci MSA.
4. Integrace mikroslužeb (3 hodiny)
Vzorce interakce;
Synchronní a asynchronní interakční mechanismy;
Orchestr a choreografie;
Základní protokoly a technologie (REST, gRPC, GraphQL, Kafka, RabbitMQ atd.);
Interakce s externími systémy (API Gateway, BFF);
Reaktivní systémy;
Architektury řízené událostmi;
Oddělení příkazu a požadavku.
5. Organizace práce s daty v MSA (3 hodiny)
Vzorce práce s daty;
Generování událostí;
Referenční data v MSA;
Jediný zdroj pravdy (Source of Truth) v MSA.
6. Základní šablony ISA (9 hodin)
Modifikovatelnost.
Řešení problému vysoké konektivity. Verze rozhraní a událostí. Typy smluv. Změny v modelu událostí. Vzory pro organizaci požadavků. Mikroservisní podvozek. Servisní síť.
Škálovatelnost.
Vzory pro konstrukci balancérů. Detekční služby a vzory pro práci s nimi.
Výkon.
Výkonnostní vzorce v MSA (overkill, graceful degradation, atd.).
Konzistence.
Problémy s konzistencí v MSA. CAP věta. Řešení problémů s konzistencí. Dvoufázové commity. SAGA vzor. Snížená úroveň konzistence.
Spolehlivost.
Mechanismy odolnosti proti poruchám. Vzory jističů, škrcení, závislé časové limity atd.
Bezpečnost.
Bezpečnostní mechanismy v MSA. Autentizace. Oprávnění. Obvodová ochrana. Ochrana komunikačních kanálů. Základní protokoly a vzory (OAUTH2, JWT, gatekeeper, valet key atd.).
Testovatelnost.
Testování pyramid a čtverců. Vlastnosti testování mikroslužeb.
Testování jednotek. Integrační testování. Testování komponent. E2E testování. Vzorce testování MSA.
Snadná údržba.
Pozorovatelnost. Vzory monitorování (distribuované sledování, agregace protokolů). Monitorování a protokolování. Konfigurace mikroslužeb. Externalizace konfigurace. Systémová podpora.
7. Nasazení mikroslužeb (2 hodiny)
Vzor „zaváděcího kanálu“;
Vzory nasazení;
Používání technologií Docker a Kubernetes;
Použití mřížky ISTIO;
Bezserverové nasazení;
Strategie nasazení (modrozelená, kanárská atd.).
8. Strategie migrace z monolitu na MSA (2 hodiny)
Strategie pro migraci z monolitu na mikroslužby;
Strangler monolit;
Vzory škrcení;
Komunikace mezi mikroslužbou a monolitem;
Migrace databáze.