Mikroservicearkitektur - kursus 46.900 rub. fra IBS Training Center, træning 24 timer, Dato 27. november 2023.
Miscellanea / / November 27, 2023
Mikroservicearkitektur (MSA) har relativt for nylig vundet berømmelse som den mest populære arkitektoniske tilgang. Dets brug giver mange fordele på forskellige stadier af produktets livscyklus. Især giver MCA mulighed for hurtigere responstider på forretningskrav, hvilket ofte gør det overlegent i forhold til andre arkitektoniske stilarter.
Men i processen med at udvikle MCA-systemer står arkitekten over for mange udfordringer, hvoraf mange får begyndere til at rulle tilbage.
Dekomponeringsfejl kan føre til en alvorlig stigning i udviklingskompleksiteten. Ydeevne lider på grund af uoverstigelig netværksforsinkelse. Distribueret datalagring tillader ikke transaktionskonsistens. Et stort antal komponenter, der interagerer over netværket, reducerer pålideligheden. Svært at sikre sikkerhed. Derudover kræver test og vedligeholdelse af et distribueret system en separat diskussion.
Dette kursus vil vise fordele og ulemper ved at bruge MCA. Vil hjælpe dig med at træffe en informeret beslutning om anvendeligheden af ISA afhængigt af virksomhedens behov og holdets evner. Kurset undersøger de vigtigste problemstillinger forbundet med implementering af en mikroservicearkitektur. Strategier, mekanismer, mønstre, der løser de ovenfor nævnte problemer. For hvert diskuteret problem vil de mest almindelige værktøjer blive præsenteret (såsom Kubernetes, Istio, Histryx, Kibana og mange andre).
Praktiske øvelser vil give dig mulighed for at tilegne dig færdigheden til selvstændigt design af MCA-systemer.
Emner dækket:
1. Arkitektoniske stilarter (2 timer)
Begreber monolit, SOA, MSA.
Sammenligning og begrundelse for valg.
2. MSA-nedbrydningsmønstre (2 timer)
Optimal mikroservicestørrelse;
Opdeling af tjenester efter forretningsmulighed;
Opdeling af tjenester efter problemområder;
Praksis til at definere fagområder;
Dekomponering i henhold til tekniske og organisatoriske aspekter.
3. Organisering af udvikling for MSA (1 time)
Organisering af teams under MSA;
Organisering af et kodelager under MSA.
4. Microservices integration (3 timer)
Interaktionsmønstre;
Synkrone og asynkrone interaktionsmekanismer;
Orkestrering og koreografi;
Grundlæggende protokoller og teknologier (REST, gRPC, GraphQL, Kafka, RabbitMQ osv.);
Interaktion med eksterne systemer (API Gateway, BFF);
Reaktive systemer;
Begivenhedsdrevne arkitekturer;
Adskillelse af kommando og anmodning.
5. Tilrettelæggelse af arbejdet med data i MSA (3 timer)
Mønstre for at arbejde med data;
Generering af begivenheder;
Referencedata i MSA;
Enkelt kilde til sandhed (Source of Truth) i MSA.
6. Grundlæggende ISA-skabeloner (9 timer)
Modificerbarhed.
Løsning af problemet med høj forbindelse. Versionering af interfaces og events. Kontrakttyper. Ændringer i begivenhedsmodellen. Mønstre til organisering af anmodninger. Microservice chassis. Service Mesh.
Skalerbarhed.
Mønstre til konstruktion af balancere. Detektionstjenester og mønstre for at arbejde med dem.
Ydeevne.
Ydeevnemønstre i MSA (overkill, yndefuld nedbrydning osv.).
Konsistens.
Konsistensproblemer i MSA. CAP-sætning. Løsninger på konsistensproblemer. To-faset commits. SAGA mønster. Reduceret konsistensniveau.
Pålidelighed.
Fejltolerancemekanismer. Circuit Breaker mønstre, drosling, afhængige timeouts osv.
Sikkerhed.
Sikkerhedsmekanismer i MSA. Godkendelse. Bemyndigelse. Perimeterbeskyttelse. Beskyttelse af kommunikationskanaler. Grundlæggende protokoller og mønstre (OAUTH2, JWT, gatekeeper, betjent nøgle osv.).
Testbarhed.
Pyramide- og firkanttest. Funktioner ved test af mikrotjenester.
Enhedstest. Integrationstest. Komponenttestning. E2E test. MSA-testmønstre.
Nem vedligeholdelse.
Observerbarhed. Overvågningsmønstre (distribueret sporing, log aggregering). Overvågning og logning. Konfiguration af mikrotjenester. Eksternalisering af konfigurationen. System support.
7. Implementering af mikrotjenester (2 timer)
"Deployment pipeline" mønster;
Implementeringsmønstre;
Brug af Docker- og Kubernetes-teknologier;
Brug af ISTIO-gitteret;
Serverløs udrulning;
Implementeringsstrategier (blå-grøn, kanariefugle osv.).
8. Migrationsstrategier fra monolit til MSA (2 timer)
Strategier til migrering fra monolit til mikrotjenester;
Strangler monolit;
Kvælningsmønstre;
Kommunikation mellem en mikrotjeneste og en monolit;
Database migration.