Junior
Kas yra mikroservisai?
sobes.tech AI
Atsakymas iš AI
Mikroservisai — tai architektūros stilius, kai programa kuriama kaip mažų, autonominių paslaugų rinkinys, iš kurių kiekviena atlieka tam tikrą verslo funkciją.
Pagrindinės savybės:
- Maži ir sutelkti: Kiekviena paslauga sprendžia vieną siaurą užduotį.
- Autonominiai: Jie gali būti kuriami, diegiami ir masteliai nepriklausomai.
- Duomenų valdymo decentralizacija: Kiekviena paslauga gali turėti savo duomenų bazę.
- Tarppaslaugų sąveika: Paprastai vyksta per lengvus protokolus (pvz., REST, gRPC).
- Klaidų atsparumas: Vienos paslaugos klaida nebūtinai sukelia visos programos gedimą.
- Technologinė heterogeniškumas: Skirtingos paslaugos gali naudoti skirtingas programavimo kalbas ir technologijas.
Privalumai:
- Greitesnis kūrimas ir diegimas.
- Geresnis atskirų komponentų mastelis.
- Didesnis atsparumas.
- Lengviau diegti naujas technologijas.
Trūkumai:
- Bendra sistemos sudėtingumas didėja.
- Reikalingas paskirstytų transakcijų valdymas.
- Sudėtinga stebėti ir derinti klaidas.
- Reikalauja brandesnės DevOps kultūros.
Palyginimas su monolitu:
| Charakteristika | Mikroservisai | Monolitas |
|---|---|---|
| Dydis | Maži, sutelkti paslaugos | Viena didelė programa |
| Diegimas | Nepriklausomas diegimas | Visos programos diegimas |
| Mastelis | Atskiri paslaugų mastelio keitimas | Visos programos mastelio keitimas |
| Atsparumas | Aukštas (vienos paslaugos klaida nėra kritinė) | Žemas (komponento klaida veikia viską) |
| Technologijos | Galimybė naudoti skirtingus technologinius rėmus | Vieningas technologinis rėmas |
| Kūrimo komanda | Mažos autonominės komandos | Viena didelė komanda |
| Sudėtingumas | Aukštas (paslaugų sąveika) | Žemas (paprastoms programoms) |
| Duomenų valdymas | Decentralizuotas | Centralizuotas |