Mikropakalpojumu arhitektūra - kurss 46 900 rub. no IBS Mācību centra, apmācības 24 stundas, Datums 27.11.2023.
Literārs Mistrojums / / November 27, 2023
Mikropakalpojumu arhitektūra (MSA) salīdzinoši nesen ir ieguvusi slavu kā populārākā arhitektūras pieeja. Tās izmantošana sniedz daudzas priekšrocības dažādos produkta dzīves cikla posmos. Jo īpaši MCA nodrošina ātrāku reakcijas laiku uz biznesa prasībām, kas bieži padara to pārāku par citiem arhitektūras stiliem.
Tomēr MCA sistēmu izstrādes procesā arhitekts saskaras ar daudzām problēmām, no kurām daudzas liek iesācējiem atkāpties.
Sadalīšanas kļūdas var nopietni palielināt izstrādes sarežģītību. Veiktspēja cieš nepārvaramā tīkla latentuma dēļ. Sadalītā datu glabāšana neļauj nodrošināt darījumu konsekvenci. Liels skaits komponentu, kas mijiedarbojas tīklā, samazina uzticamību. Grūti nodrošināt drošību. Turklāt izkliedētās sistēmas testēšana un uzturēšana prasa atsevišķu diskusiju.
Šis kurss parādīs MCA izmantošanas priekšrocības un trūkumus. Palīdzēs pieņemt apzinātu lēmumu par ISA pielietojamību atkarībā no biznesa vajadzībām un komandas iespējām. Kursā tiek apskatīti galvenie jautājumi, kas saistīti ar mikropakalpojumu arhitektūras ieviešanu. Stratēģijas, mehānismi, modeļi, kas atrisina iepriekš minētās problēmas. Katrai apspriestajai problēmai tiks prezentēti visizplatītākie rīki (piemēram, Kubernetes, Istio, Histryx, Kibana un daudzi citi).
Praktiskie vingrinājumi ļaus apgūt MCA sistēmu patstāvīgas projektēšanas prasmi.
Apskatītās tēmas:
1. Arhitektūras stili (2 stundas)
Monolīta, SOA, MSA jēdzieni.
Salīdzinājums un izvēles pamatojums.
2. MSA sadalīšanās modeļi (2 stundas)
Optimāls mikropakalpojuma lielums;
Pakalpojumu sadalījums pēc uzņēmējdarbības iespējām;
Pakalpojumu sadalījums pa problēmzonām;
Prakses mācību priekšmetu jomu noteikšanai;
Dekompozīcija pēc tehniskajiem un organizatoriskiem aspektiem.
3. MSA izstrādes organizēšana (1 stunda)
Komandu organizēšana saskaņā ar MSA;
Kodu repozitorija organizēšana saskaņā ar MSA.
4. Mikropakalpojumu integrācija (3 stundas)
Mijiedarbības modeļi;
Sinhronās un asinhronās mijiedarbības mehānismi;
Orķestrācija un horeogrāfija;
Pamatprotokoli un tehnoloģijas (REST, gRPC, GraphQL, Kafka, RabbitMQ u.c.);
Mijiedarbība ar ārējām sistēmām (API Gateway, BFF);
Reaktīvās sistēmas;
Notikumu vadītas arhitektūras;
Komandas un pieprasījuma nošķiršana.
5. Darba organizēšana ar datiem MSA (3 stundas)
Darba modeļi ar datiem;
Pasākumu ģenerēšana;
Atsauces dati MSA;
Viens patiesības avots (Patiesības avots) MSA.
6. Pamata ISA veidnes (9 stundas)
Modificējamība.
Augstas savienojamības problēmas risināšana. Saskarņu un notikumu versijas. Līgumu veidi. Izmaiņas pasākuma modelī. Pieprasījumu organizēšanas modeļi. Mikroservisa šasija. Servisa tīkls.
Mērogojamība.
Līdzsvarotāju konstruēšanas modeļi. Atklāšanas pakalpojumi un modeļi darbam ar tiem.
Performance.
MSA veiktspējas modeļi (pārmērīga darbība, gracioza degradācija utt.).
Konsekvence.
Konsekvences problēmas MSA. CAP teorēma. Konsekvences problēmu risinājumi. Divfāžu saistības. SAGA raksts. Samazināts konsekvences līmenis.
Uzticamība.
Bojājumu tolerances mehānismi. Strāvas pārtraucēju shēmas, droseles, atkarīgi noildzes utt.
Drošība.
Drošības mehānismi MSA. Autentifikācija. Autorizācija. Perimetra aizsardzība. Komunikācijas kanālu aizsardzība. Pamatprotokoli un modeļi (OAUTH2, JWT, vārtsargs, sulaiņa atslēga utt.).
Pārbaudāmība.
Piramīdu un kvadrātu pārbaude. Mikropakalpojumu testēšanas iezīmes.
Vienības pārbaude. Integrācijas pārbaude. Komponentu pārbaude. E2E pārbaude. MSA testēšanas modeļi.
Apkopes vienkāršība.
Novērojamība. Monitoringa modeļi (izplatīta izsekošana, žurnālu apkopošana). Uzraudzība un mežizstrāde. Mikropakalpojumu konfigurēšana. Konfigurācijas eksternalizācija. Sistēmas atbalsts.
7. Mikropakalpojumu izvietošana (2 stundas)
"Izvietošanas cauruļvada" modelis;
Izvietošanas modeļi;
Docker un Kubernetes tehnoloģiju izmantošana;
Izmantojot ISTIO režģi;
izvietošana bez servera;
Izvēršanas stratēģijas (zili zaļš, kanārijputniņš utt.).
8. Migrācijas stratēģijas no monolīta uz MSA (2 stundas)
Stratēģijas pārejai no monolīta uz mikropakalpojumiem;
Strangler monolīts;
Nožņaugšanās modeļi;
Komunikācija starp mikropakalpojumu un monolītu;
Datu bāzes migrācija.