Mikroservicearkitektur - kurs 46 900 gni. fra IBS Training Center, trening 24 timer, dato 27. november 2023.
Miscellanea / / November 27, 2023
Mikrotjenestearkitektur (MSA) har relativt nylig fått berømmelse som den mest populære arkitektoniske tilnærmingen. Bruken gir mange fordeler i ulike stadier av produktets livssyklus. Spesielt tillater MCA raskere responstider på forretningskrav, noe som ofte gjør den overlegen andre arkitektoniske stiler.
Men i prosessen med å utvikle MCA-systemer står arkitekten overfor mange utfordringer, hvorav mange får nybegynnere til å rulle tilbake.
Dekomponeringsfeil kan føre til en alvorlig økning i utviklingskompleksitet. Ytelsen lider på grunn av uoverstigelig nettverksforsinkelse. Distribuert datalagring tillater ikke transaksjonskonsistens. Et stort antall komponenter som samhandler over nettverket reduserer påliteligheten. Vanskelig å sikre sikkerhet. I tillegg krever testing og vedlikehold av et distribuert system en egen diskusjon.
Dette kurset vil vise fordeler og ulemper ved å bruke MCA. Vil hjelpe deg med å ta en informert beslutning om anvendeligheten av ISA avhengig av virksomhetens behov og evnene til teamet. Kurset undersøker hovedproblemstillingene knyttet til implementering av en mikrotjenestearkitektur. Strategier, mekanismer, mønstre som løser problemene nevnt ovenfor. For hvert problem som diskuteres, vil de vanligste verktøyene bli presentert (som Kubernetes, Istio, Histryx, Kibana og mange andre).
Praktiske øvelser vil tillate deg å tilegne deg ferdighetene til uavhengig design av MCA-systemer.
Emner som dekkes:
1. Arkitektoniske stiler (2 timer)
Konsepter av monolitt, SOA, MSA.
Sammenligning og begrunnelse for valg.
2. MSA-dekomponeringsmønstre (2 timer)
Optimal mikrotjenestestørrelse;
Fordeling av tjenester etter forretningsmulighet;
Fordeling av tjenester etter problemområder;
Praksis for å definere fagområder;
Dekomponering i henhold til tekniske og organisatoriske aspekter.
3. Organisering av utvikling for MSA (1 time)
Organisering av team under MSA;
Organisering av et kodelager under MSA.
4. Mikrotjenester-integrasjon (3 timer)
Interaksjonsmønstre;
Synkrone og asynkrone interaksjonsmekanismer;
Orkesterering og koreografi;
Grunnleggende protokoller og teknologier (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.);
Interaksjon med eksterne systemer (API Gateway, BFF);
Reaktive systemer;
Hendelsesdrevne arkitekturer;
Separasjon av kommando og forespørsel.
5. Organisering av arbeid med data i MSA (3 timer)
Mønstre for å jobbe med data;
generere hendelser;
Referansedata i MSA;
Enkelt kilde til sannhet (Source of Truth) i MSA.
6. Grunnleggende ISA-maler (9 timer)
Modifiserbarhet.
Løser problemet med høy tilkobling. Versjon av grensesnitt og hendelser. Typer kontrakter. Endringer i hendelsesmodellen. Mønstre for organisering av forespørsler. Microservice chassis. Service Mesh.
Skalerbarhet.
Mønstre for å konstruere balansere. Deteksjonstjenester og mønstre for å jobbe med dem.
Opptreden.
Ytelsesmønstre i MSA (overkill, grasiøs degradering, etc.).
Konsistens.
Konsistensproblemer i MSA. CAP-teorem. Løsninger på konsistensproblemer. To-fase forplikter. SAGA mønster. Redusert konsistensnivå.
Pålitelighet.
Feiltoleransemekanismer. Circuit Breaker mønstre, struping, avhengige timeouts, etc.
Sikkerhet.
Sikkerhetsmekanismer i MSA. Autentisering. Autorisasjon. Perimeterbeskyttelse. Beskyttelse av kommunikasjonskanaler. Grunnleggende protokoller og mønstre (OAUTH2, JWT, gatekeeper, betjentnøkkel, etc.).
Testbarhet.
Pyramide- og firkanttesting. Funksjoner ved testing av mikrotjenester.
Enhetstesting. Integrasjonstesting. Komponenttesting. E2E testing. MSA-testmønstre.
Enkel vedlikehold.
Observerbarhet. Overvåkingsmønstre (distribuert sporing, loggaggregering). Overvåking og logging. Konfigurering av mikrotjenester. Eksternalisering av konfigurasjonen. Systemstøtte.
7. Implementering av mikrotjenester (2 timer)
"Deployment pipeline"-mønster;
distribusjonsmønstre;
Bruke Docker- og Kubernetes-teknologier;
Bruke ISTIO-nettet;
Serverløs distribusjon;
Utplasseringsstrategier (blå-grønn, kanarifugl, etc.).
8. Migrasjonsstrategier fra monolitt til MSA (2 timer)
Strategier for migrering fra monolitt til mikrotjenester;
Strangler monolitt;
Kvelningsmønstre;
Kommunikasjon mellom en mikrotjeneste og en monolitt;
Database migrering.