Microservice-architectuur - cursus 46.900 wrijven. van IBS Training Center, training 24 uur, Datum 27 november 2023.
Gemengde Berichten / / November 27, 2023
Microservice-architectuur (MSA) heeft relatief recentelijk bekendheid verworven als de meest populaire architecturale benadering. Het gebruik ervan biedt veel voordelen in verschillende stadia van de levenscyclus van het product. MCA zorgt met name voor snellere reactietijden op zakelijke vereisten, waardoor het vaak superieur is aan andere architecturale stijlen.
Tijdens het ontwikkelingsproces van MCA-systemen wordt de architect echter met veel uitdagingen geconfronteerd, waarvan er vele ervoor zorgen dat beginners terugdeinzen.
Ontledingsfouten kunnen leiden tot een ernstige toename van de ontwikkelingscomplexiteit. De prestaties lijden onder onoverkomelijke netwerklatentie. Gedistribueerde gegevensopslag staat geen transactionele consistentie toe. Een groot aantal componenten die via het netwerk samenwerken, vermindert de betrouwbaarheid. Moeilijk om de veiligheid te garanderen. Bovendien vereist het testen en onderhouden van een gedistribueerd systeem een aparte discussie.
Deze cursus laat de voor- en nadelen van het gebruik van MCA zien. Helpt u een weloverwogen beslissing te nemen over de toepasbaarheid van ISA, afhankelijk van de behoeften van het bedrijf en de capaciteiten van het team. De cursus onderzoekt de belangrijkste kwesties die gepaard gaan met het implementeren van een microservice-architectuur. Strategieën, mechanismen, patronen die de hierboven genoemde problemen oplossen. Voor elk besproken probleem worden de meest voorkomende tools gepresenteerd (zoals Kubernetes, Istio, Histryx, Kibana en vele andere).
Praktische oefeningen stellen u in staat de vaardigheid te verwerven van het onafhankelijk ontwerpen van MCA-systemen.
Behandelde onderwerpen:
1. Bouwstijlen (2 uur)
Begrippen monoliet, SOA, MSA.
Vergelijking en reden voor keuze.
2. MSA-ontledingspatronen (2 uur)
Optimale microservicegrootte;
Uitsplitsing van diensten naar zakelijke kansen;
Uitsplitsing van de dienstverlening naar probleemgebieden;
Praktijken voor het definiëren van vakgebieden;
Decompositie volgens technische en organisatorische aspecten.
3. Organisatie van ontwikkeling voor MSA (1 uur)
Organisatie van teams onder MSA;
Organisatie van een coderepository onder MSA.
4. Microservices-integratie (3 uur)
Patronen van interactie;
Synchrone en asynchrone interactiemechanismen;
Orkestratie en choreografie;
Basisprotocollen en technologieën (REST, gRPC, GraphQL, Kafka, RabbitMQ, etc.);
Interactie met externe systemen (API Gateway, BFF);
Reactieve systemen;
Gebeurtenisgestuurde architecturen;
Scheiding van bevel en verzoek.
5. Werkorganisatie met gegevens in MSA (3 uur)
Patronen van het werken met data;
Gebeurtenissen genereren;
Referentiegegevens in MSA;
Eén bron van waarheid (Source of Truth) in MSA.
6. Basis ISA-sjablonen (9 uur)
Aanpasbaarheid.
Het probleem van hoge connectiviteit oplossen. Versiebeheer van interfaces en gebeurtenissen. Soorten contracten. Veranderingen in het gebeurtenismodel. Patronen voor het organiseren van verzoeken. Microservice-chassis. Servicenetwerk.
Schaalbaarheid.
Patronen voor het construeren van balancers. Detectiediensten en patronen om ermee te werken.
Prestatie.
Prestatiepatronen in MSA (overkill, sierlijke degradatie, enz.).
Samenhang.
Consistentieproblemen in MSA. CAP-stelling. Oplossingen voor consistentieproblemen. Tweefasige commits. SAGA-patroon. Verlaagd consistentieniveau.
Betrouwbaarheid.
Fouttolerantiemechanismen. Stroomonderbrekerpatronen, throttling, afhankelijke time-outs, enz.
Veiligheid.
Beveiligingsmechanismen in MSA. Authenticatie. Autorisatie. Perimeterbescherming. Bescherming van communicatiekanalen. Basisprotocollen en patronen (OAUTH2, JWT, gatekeeper, valet key, etc.).
Testbaarheid.
Piramide- en vierkanttesten. Kenmerken van het testen van microservices.
Testen van een eenheid. Integratie testen. Testen van componenten. E2E-testen. MSA-testpatronen.
Gemak van onderhoud.
Waarneembaarheid. Patronen bewaken (gedistribueerde tracering, logaggregatie). Monitoren en loggen. Microservices configureren. Het externaliseren van de configuratie. Systeemondersteuning.
7. Microservices implementeren (2 uur)
Patroon “Implementatiepijplijn”;
Implementatiepatronen;
Gebruik van Docker- en Kubernetes-technologieën;
Het ISTIO-raster gebruiken;
Serverloze implementatie;
Implementatiestrategieën (blauwgroen, kanarie, enz.).
8. Migratiestrategieën van monoliet naar MSA (2 uur)
Strategieën voor de migratie van monoliet naar microservices;
Strangler-monoliet;
Wurgingspatronen;
Communicatie tussen een microservice en een monoliet;
Databasemigratie.