Sobes.tech
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