Arhitektura mikroservisa - tečaj 46 900 rub. iz IBS Training Center, trening 24 sata, Datum 27. studenog 2023.
Miscelanea / / November 27, 2023
Mikroservisna arhitektura (MSA) je relativno nedavno stekla slavu kao najpopularniji arhitektonski pristup. Njegova uporaba pruža brojne prednosti u različitim fazama životnog ciklusa proizvoda. Konkretno, MCA omogućuje brže vrijeme odgovora na poslovne zahtjeve, što ga često čini superiornijim u odnosu na druge arhitektonske stilove.
Međutim, u procesu razvoja MCA sustava, arhitekt se suočava s mnogim izazovima, od kojih mnogi uzrokuju početnike da se vrate unatrag.
Pogreške dekompozicije mogu dovesti do ozbiljnog povećanja složenosti razvoja. Izvedba trpi zbog nepremostive latencije mreže. Distribuirana pohrana podataka ne dopušta dosljednost transakcija. Velik broj komponenti koje međusobno djeluju preko mreže smanjuje pouzdanost. Teško je osigurati sigurnost. Osim toga, testiranje i održavanje distribuiranog sustava zahtijeva posebnu raspravu.
Ovaj tečaj će pokazati prednosti i nedostatke korištenja MCA. Pomoći će vam da donesete informiranu odluku o primjenjivosti ISA ovisno o potrebama poslovanja i sposobnostima tima. Tečaj ispituje glavna pitanja povezana s implementacijom arhitekture mikroservisa. Strategije, mehanizmi, obrasci koji rješavaju gore navedene probleme. Za svaki razmatrani problem bit će predstavljeni najčešći alati (kao što su Kubernetes, Istio, Histryx, Kibana i mnogi drugi).
Praktične vježbe omogućit će vam stjecanje vještine samostalnog projektiranja MCA sustava.
Tema završena:
1. Arhitektonski stilovi (2 sata)
Koncepti monolita, SOA, MSA.
Usporedba i obrazloženje izbora.
2. Obrasci dekompozicije MSA (2 sata)
Optimalna veličina mikroservisa;
Raščlamba usluga prema poslovnoj prilici;
Podjela usluga po problematičnim područjima;
Prakse definiranja tematskih područja;
Dekompozicija prema tehničkim i organizacijskim aspektima.
3. Organizacija razvoja za MSA (1 sat)
Organizacija timova u okviru MSA;
Organizacija repozitorija kodova pod MSA.
4. Integracija mikroservisa (3 sata)
Obrasci interakcije;
Mehanizmi sinkrone i asinkrone interakcije;
Orkestracija i koreografija;
Osnovni protokoli i tehnologije (REST, gRPC, GraphQL, Kafka, RabbitMQ, itd.);
Interakcija s vanjskim sustavima (API Gateway, BFF);
Reaktivni sustavi;
Arhitekture vođene događajima;
Odvajanje naredbe i zahtjeva.
5. Organizacija rada s podacima u MSA (3 sata)
Obrasci rada s podacima;
Generiranje događaja;
Referentni podaci u MSA;
Jedinstveni izvor istine (Source of Truth) u MSA.
6. Osnovni ISA predlošci (9 sati)
Mogućnost izmjene.
Rješavanje problema visoke povezanosti. Verzija sučelja i događaja. Vrste ugovora. Promjene u modelu događaja. Obrasci za organiziranje zahtjeva. Mikroservisna šasija. Servisna mreža.
Skalabilnost.
Obrasci za izradu balansera. Usluge detekcije i obrasci za rad s njima.
Izvođenje.
Uzorci izvedbe u MSA (pretjerano ukidanje, graciozna degradacija, itd.).
Dosljednost.
Problemi s dosljednošću u MSA. CAP teorem. Rješenja problema konzistentnosti. Dvofazna obveza. SAGA uzorak. Smanjena razina konzistencije.
Pouzdanost.
Mehanizmi tolerancije grešaka. Obrasci prekidača strujnog kruga, prigušivanje, ovisni vremenski prekidi itd.
Sigurnost.
Sigurnosni mehanizmi u MSA. Ovjera. Autorizacija. Zaštita perimetra. Zaštita komunikacijskih kanala. Osnovni protokoli i uzorci (OAUTH2, JWT, gatekeeper, valet key, itd.).
Ispitljivost.
Testiranje piramide i kvadrata. Značajke testiranja mikroservisa.
Jedinično testiranje. Integracijsko testiranje. Ispitivanje komponenti. E2E testiranje. MSA uzorci testiranja.
Lakoća održavanja.
Uočljivost. Obrasci praćenja (distribuirano praćenje, agregacija dnevnika). Praćenje i bilježenje. Konfiguriranje mikroservisa. Eksternalizacija konfiguracije. Sustavna podrška.
7. Implementacija mikroservisa (2 sata)
Uzorak "cijevovodi implementacije";
Obrasci postavljanja;
Korištenje Docker i Kubernetes tehnologija;
Korištenje ISTIO mreže;
Implementacija bez poslužitelja;
Strategije raspoređivanja (plavo-zelena, kanarinac, itd.).
8. Strategije migracije s monolita na MSA (2 sata)
Strategije za prelazak s monolitnih na mikroservise;
Strangler monolit;
Obrasci davljenja;
Komunikacija između mikroservisa i monolita;
Migracija baze podataka.