Mikroteenuste arhitektuur - kursus 46 900 hõõruda. IBS Koolituskeskusest, koolitus 24 tundi, kuupäev 27.11.2023.
Varia / / November 27, 2023
Mikroteenuste arhitektuur (MSA) on suhteliselt hiljuti kuulsust kogunud kui kõige populaarsem arhitektuuriline lähenemisviis. Selle kasutamine annab toote elutsükli erinevatel etappidel palju eeliseid. Eelkõige võimaldab MCA kiiremat reageerimisaega ärinõuetele, mis muudab selle sageli teistest arhitektuuristiilidest paremaks.
Kuid MCA süsteemide väljatöötamise protsessis seisab arhitekt silmitsi paljude väljakutsetega, millest paljud panevad algajad tagasi kerima.
Lagundamise vead võivad põhjustada arenduse keerukuse tõsist suurenemist. Jõudlus kannatab ületamatu võrgu latentsuse tõttu. Andmete hajutatud salvestamine ei võimalda tehingute järjepidevust. Suur hulk võrgu kaudu suhtlevaid komponente vähendab töökindlust. Turvalisust on raske tagada. Lisaks vajab eraldi arutelu hajutatud süsteemi testimine ja hooldus.
See kursus näitab MCA kasutamise eeliseid ja puudusi. Aitab teil teha teadliku otsuse ISA rakendatavuse kohta, olenevalt ettevõtte vajadustest ja meeskonna võimalustest. Kursusel käsitletakse mikroteenuse arhitektuuri juurutamisega seotud peamisi probleeme. Strateegiad, mehhanismid, mustrid, mis lahendavad ülaltoodud probleeme. Iga käsitletava probleemi puhul esitatakse levinumad tööriistad (nagu Kubernetes, Istio, Histryx, Kibana ja paljud teised).
Praktilised harjutused võimaldavad teil omandada MCA süsteemide iseseisva projekteerimise oskuse.
Käsitletavad teemad:
1. Arhitektuuristiilid (2 tundi)
Monoliidi, SOA, MSA mõisted.
Võrdlus ja valiku põhjendus.
2. MSA lagunemismustrid (2 tundi)
Optimaalne mikroteenuse suurus;
Teenuste jaotus ärivõimaluste järgi;
Teenuste jaotus probleemsete valdkondade kaupa;
Ainevaldkondade määratlemise praktikad;
Lagundamine tehniliste ja korralduslike aspektide järgi.
3. MSA arenduse organiseerimine (1 tund)
MSA alla kuuluvate meeskondade organiseerimine;
Koodihoidla korraldamine MSA raames.
4. Mikroteenuste integreerimine (3 tundi)
interaktsiooni mustrid;
Sünkroonsed ja asünkroonsed interaktsioonimehhanismid;
Orkestreerimine ja koreograafia;
Põhiprotokollid ja -tehnoloogiad (REST, gRPC, GraphQL, Kafka, RabbitMQ jne);
Koostoime välissüsteemidega (API Gateway, BFF);
Reaktiivsed süsteemid;
Sündmuspõhised arhitektuurid;
Käsu ja taotluse lahusus.
5. Töö korraldamine andmetega MSA-s (3 tundi)
Andmetega töötamise mustrid;
Sündmuste genereerimine;
Viiteandmed MSA-s;
Üks tõeallikas (tõeallikas) MSA-s.
6. ISA põhimallid (9 tundi)
Muudetavus.
Suure ühenduvuse probleemi lahendamine. Liideste ja sündmuste versioonimine. Lepingute liigid. Muudatused sündmuse mudelis. Taotluste korraldamise mustrid. Mikroteenuse šassii. Teenindusvõrk.
Skaleeritavus.
Mustrid tasakaalustajate ehitamiseks. Tuvastamisteenused ja nendega töötamise mustrid.
Esitus.
MSA jõudlusmustrid (overkill, graatsiline halvenemine jne).
Järjepidevus.
Järjepidevuse probleemid MSA-s. CAP teoreem. Lahendused järjepidevuse probleemidele. Kahefaasiline kohustus. SAGA muster. Vähendatud konsistentsi tase.
Töökindlus.
Veataluvuse mehhanismid. Kaitselülitite mustrid, drossel, sõltuvad ajalõpud jne.
Ohutus.
Turvamehhanismid MSA-s. Autentimine. Autoriseerimine. Perimeetri kaitse. Sidekanalite kaitse. Põhiprotokollid ja -mustrid (OAUTH2, JWT, väravavaht, autoteenindaja võti jne).
Testitavus.
Püramiidi ja ruudu testimine. Mikroteenuste testimise omadused.
Ühiku testimine. Integratsiooni testimine. Komponentide testimine. E2E testimine. MSA testimismustrid.
Hoolduse lihtsus.
Vaadeldavus. Seiremustrid (hajutatud jälgimine, logide koondamine). Järelevalve ja metsaraie. Mikroteenuste seadistamine. Konfiguratsiooni välistamine. Süsteemi tugi.
7. Mikroteenuste juurutamine (2 tundi)
"Kasutuselevõtu torujuhtme" muster;
kasutuselevõtu mustrid;
Dockeri ja Kubernetese tehnoloogiate kasutamine;
ISTIO ruudustiku kasutamine;
Serverita juurutamine;
Kasutusstrateegiad (sinine-roheline, kanaarilinn jne).
8. Migratsioonistrateegiad monoliidilt MSA-le (2 tundi)
Monoliidilt mikroteenustele ülemineku strateegiad;
Kägistaja monoliit;
Kägistamismustrid;
Side mikroteenuse ja monoliidi vahel;
Andmebaasi migratsioon.