Microservice architektúra - tanfolyam 46 900 dörzsölje. az IBS Oktatóközpontból, 24 órás képzés, Időpont 2023. november 27.
Vegyes Cikkek / / November 27, 2023
A mikroszolgáltatási architektúra (MSA) viszonylag nemrégiben a legnépszerűbb építészeti megközelítésként szerzett hírnevet. Használata számos előnnyel jár a termék életciklusának különböző szakaszaiban. Az MCA különösen gyorsabb válaszidőt tesz lehetővé az üzleti követelményekre, ami gyakran felülmúlja a többi építészeti stílust.
Az MCA-rendszerek fejlesztése során azonban az építésznek számos kihívással kell szembenéznie, amelyek közül sok a kezdők visszalépését okozza.
A dekompozíciós hibák a fejlesztés bonyolultságának komoly növekedéséhez vezethetnek. A teljesítmény romlik a leküzdhetetlen hálózati késleltetés miatt. Az elosztott adattárolás nem teszi lehetővé a tranzakciók konzisztenciáját. A hálózaton keresztül kölcsönhatásba lépő komponensek nagy száma csökkenti a megbízhatóságot. Nehéz biztosítani a biztonságot. Ezenkívül az elosztott rendszer tesztelése és karbantartása külön megbeszélést igényel.
Ez a tanfolyam bemutatja az MCA használatának előnyeit és hátrányait. Segít abban, hogy megalapozott döntést hozzon az ISA alkalmazhatóságáról, az üzlet igényeitől és a csapat képességeitől függően. A kurzus megvizsgálja a mikroszolgáltatási architektúra megvalósításával kapcsolatos főbb kérdéseket. Stratégiák, mechanizmusok, minták, amelyek megoldják a fentebb megfogalmazott problémákat. Minden egyes megvitatott probléma esetén bemutatjuk a leggyakoribb eszközöket (mint például a Kubernetes, Istio, Histryx, Kibana és még sokan mások).
A gyakorlati gyakorlatok lehetővé teszik az MCA rendszerek önálló tervezésének készségének elsajátítását.
Lefedett témakörök:
1. Építészeti stílusok (2 óra)
A monolit, SOA, MSA fogalmai.
Összehasonlítás és a választás indoklása.
2. MSA lebontási minták (2 óra)
Optimális mikroszolgáltatás mérete;
A szolgáltatások üzleti lehetőség szerinti bontása;
A szolgáltatások problémás területek szerinti bontása;
A tantárgyi területek meghatározásának gyakorlatai;
Felbontás műszaki és szervezési szempontok szerint.
3. Az MSA fejlesztésének szervezése (1 óra)
Csapatok szervezése az MSA alatt;
Kódtár szervezése az MSA alatt.
4. Mikroszolgáltatások integrációja (3 óra)
Interakciós minták;
Szinkron és aszinkron interakciós mechanizmusok;
Hangszerelés és koreográfia;
Alapvető protokollok és technológiák (REST, gRPC, GraphQL, Kafka, RabbitMQ stb.);
Kölcsönhatás külső rendszerekkel (API Gateway, BFF);
Reaktív rendszerek;
Eseményvezérelt architektúrák;
A parancs és a kérés szétválasztása.
5. Adatokkal végzett munka megszervezése MSA-ban (3 óra)
Az adatokkal való munka mintái;
Események generálása;
Referencia adatok az MSA-ban;
Az igazság egyetlen forrása (Source of Truth) az MSA-ban.
6. Alapvető ISA-sablonok (9 óra)
Módosíthatóság.
A magas kapcsolat problémájának megoldása. Interfészek és események verziószámítása. A szerződések típusai. Változások az eseménymodellben. Minták a kérések rendezéséhez. Microservice alváz. Service Mesh.
Skálázhatóság.
Minták az egyensúlyozók építéséhez. Észlelési szolgáltatások és a velük való munkavégzés mintái.
Teljesítmény.
Teljesítményminták az MSA-ban (overkill, kecses degradáció stb.).
Következetesség.
Konzisztenciaproblémák az MSA-ban. CAP tétel. Megoldások konzisztencia problémákra. Kétfázisú commit. SAGA minta. Csökkentett konzisztencia szint.
Megbízhatóság.
Hibatűrési mechanizmusok. Áramköri megszakító minták, fojtás, függő időtúllépések stb.
Biztonság.
Biztonsági mechanizmusok az MSA-ban. Hitelesítés. Engedélyezés. Kerületi védelem. A kommunikációs csatornák védelme. Alapvető protokollok és minták (OAUTH2, JWT, kapuőr, inaskulcs stb.).
Tesztelhetőség.
Piramis és négyzet tesztelése. A mikroszolgáltatások tesztelésének jellemzői.
Egységteszt. Integrációs tesztelés. Alkatrész tesztelés. E2E tesztelés. MSA tesztelési minták.
Könnyű karbantartás.
Megfigyelhetőség. Monitoring minták (elosztott nyomkövetés, log összesítés). Monitoring és naplózás. Mikroszolgáltatások konfigurálása. A konfiguráció külsősítése. Rendszertámogatás.
7. Mikroszolgáltatások telepítése (2 óra)
„telepítési folyamat” minta;
Telepítési minták;
Docker és Kubernetes technológiák használata;
Az ISTIO rács használata;
Szerver nélküli telepítés;
Beépítési stratégiák (kék-zöld, kanári stb.).
8. Migrációs stratégiák monolitról MSA-ra (2 óra)
Stratégiák a monolitról a mikroszolgáltatásokra való átálláshoz;
Strangler monolit;
Fojtatási minták;
Kommunikáció a mikroszolgáltatás és a monolit között;
Adatbázis migráció.