Architektúra mikroservisov - kurz 46 900 rub. z IBS Training Center, školenie 24 hodín, Dátum 27.11.2023.
Rôzne / / November 27, 2023
Architektúra mikroservisov (MSA) sa relatívne nedávno preslávila ako najpopulárnejší architektonický prístup. Jeho použitie poskytuje mnoho výhod v rôznych fázach životného cyklu produktu. MCA umožňuje najmä rýchlejšiu odozvu na obchodné požiadavky, čím často prevyšuje iné architektonické štýly.
V procese vývoja systémov MCA však architekt čelí mnohým výzvam, z ktorých mnohé spôsobujú, že sa začiatočníci vrátia späť.
Chyby rozkladu môžu viesť k vážnemu zvýšeniu zložitosti vývoja. Výkon trpí kvôli neprekonateľnej latencii siete. Distribuované ukladanie údajov neumožňuje transakčnú konzistenciu. Veľký počet komponentov interagujúcich cez sieť znižuje spoľahlivosť. Je ťažké zabezpečiť bezpečnosť. Okrem toho si testovanie a údržba distribuovaného systému vyžaduje samostatnú diskusiu.
Tento kurz ukáže výhody a nevýhody používania MCA. Pomôže vám urobiť informované rozhodnutie o použiteľnosti ISA v závislosti od potrieb podniku a schopností tímu. Kurz skúma hlavné problémy spojené s implementáciou architektúry mikroslužieb. Stratégie, mechanizmy, vzorce, ktoré riešia vyššie uvedené problémy. Pre každý diskutovaný problém budú prezentované najbežnejšie nástroje (napríklad Kubernetes, Istio, Histryx, Kibana a mnoho ďalších).
Praktické cvičenia vám umožnia získať zručnosť samostatného projektovania MCA systémov.
Preberané témy:
1. Architektonické štýly (2 hodiny)
Pojmy monolit, SOA, MSA.
Porovnanie a zdôvodnenie výberu.
2. Vzory rozkladu MSA (2 hodiny)
Optimálna veľkosť mikroservisu;
Rozdelenie služieb podľa obchodných príležitostí;
Rozdelenie služieb podľa problémových oblastí;
Praktiky na definovanie tematických oblastí;
Rozklad podľa technických a organizačných hľadísk.
3. Organizácia vývoja pre MSA (1 hodina)
Organizácia tímov v rámci MSA;
Organizácia úložiska kódov v rámci MSA.
4. Integrácia mikroslužieb (3 hodiny)
Vzory interakcie;
Synchrónne a asynchrónne interakčné mechanizmy;
Orchester a choreografia;
Základné protokoly a technológie (REST, gRPC, GraphQL, Kafka, RabbitMQ atď.);
Interakcia s externými systémami (API Gateway, BFF);
Reaktívne systémy;
architektúry riadené udalosťami;
Oddelenie príkazu a požiadavky.
5. Organizácia práce s dátami v MSA (3 hod.)
Vzory práce s údajmi;
Generovanie udalostí;
referenčné údaje v MSA;
Jediný zdroj pravdy (Source of Truth) v MSA.
6. Základné šablóny ISA (9 hodín)
Modifikovateľnosť.
Riešenie problému vysokej konektivity. Verzia rozhraní a udalostí. Typy zmlúv. Zmeny v modeli udalostí. Vzory na organizovanie požiadaviek. Mikroservisný podvozok. Servisná sieť.
Škálovateľnosť.
Vzory na konštrukciu vyvažovačov. Detekčné služby a vzory pre prácu s nimi.
Výkon.
Výkonnostné vzorce v MSA (overkill, graceful degradation, atď.).
Dôslednosť.
Problémy s konzistentnosťou v MSA. CAP veta. Riešenia problémov s konzistenciou. Dvojfázové záväzky. Vzor SAGA. Znížená úroveň konzistencie.
Spoľahlivosť.
Mechanizmy tolerancie chýb. Vzory ističov, škrtenie, závislé časové limity atď.
Bezpečnosť.
Bezpečnostné mechanizmy v MSA. Overenie. Autorizácia. Obvodová ochrana. Ochrana komunikačných kanálov. Základné protokoly a vzory (OAUTH2, JWT, gatekeeper, valet key atď.).
Testovateľnosť.
Testovanie pyramídy a štvorca. Vlastnosti testovania mikroslužieb.
Jednotkové testovanie. Integračné testovanie. Testovanie komponentov. E2E testovanie. Vzory testovania MSA.
Jednoduchosť údržby.
Pozorovateľnosť. Vzory monitorovania (distribuované sledovanie, agregácia protokolov). Monitorovanie a protokolovanie. Konfigurácia mikroslužieb. Externalizácia konfigurácie. Systémová podpora.
7. Nasadenie mikroslužieb (2 hodiny)
Vzor „nasadenia“;
vzory nasadenia;
Používanie technológií Docker a Kubernetes;
Použitie mriežky ISTIO;
Bezserverové nasadenie;
Stratégie nasadenia (modro-zelená, kanáriková atď.).
8. Stratégie migrácie z monolitu na MSA (2 hodiny)
Stratégie migrácie z monolitu na mikroslužby;
Strangler monolit;
Vzory uškrtenia;
Komunikácia medzi mikroslužbou a monolitom;
Migrácia databázy.