Sobes.tech
Junior

Kas ir mikroservisi?

sobes.tech AI

Atbilde no AI

Mikropakalpojumi ir arhitektūras stils, kurā lietojumprogramma tiek būvēta kā mazs, autonomis pakalpojumu kopums, katrs no kuriem veic noteiktu biznesa funkciju.

Galvenās īpašības:

  • Mazs un koncentrēts: Katrs pakalpojums risina vienu šauru uzdevumu.
  • Autonomisks: Tos var izstrādāt, izvietot un mērogot neatkarīgi.
  • Datu pārvaldības decentralizācija: Katram pakalpojumam var būt savs datu bāze.
  • Starppakalpojumu mijiedarbība: Parasti notiek caur viegliem protokoliem (piem., REST, gRPC).
  • Kļūdu izturība: Viena pakalpojuma kļūme nav obligāti jāizraisa visa lietojumprogrammas atteice.
  • Tehnoloģiskā heterogēnība: Dažādi pakalpojumi var izmantot dažādas programmēšanas valodas un tehnoloģijas.

Priekšrocības:

  • Ātrāka izstrāde un izvietošana.
  • Labāka mērogojamība atsevišķiem komponentiem.
  • Paaugstināta izturība.
  • Vieglāk ieviest jaunas tehnoloģijas.

Trūkumi:

  • Sistēmas kopējā sarežģītība palielinās.
  • Nepieciešama izplatītu transakciju pārvaldība.
  • Grūtības ar monitoringu un atkļūdošanu.
  • Prasība pēc nobriedušākas DevOps kultūras.

Salīdzinājums ar monolītu:

Raksturlielums Mikropakalpojumi Monolīts
Izmērs Mazs, koncentrēts pakalpojums Viena liela lietojumprogramma
Izvietošana Neatkarīga izvietošana Visa lietojumprogrammas izvietošana
Mērogojamība Atsevišķu pakalpojumu mērogošana Visa lietojumprogrammas mērogošana
Noturība Augsta (viena pakalpojuma kļūme nav kritiska) Zema (komponenta kļūme ietekmē visu)
Tehnoloģijas Iespēja izmantot dažādus tehnoloģiju komplektus Vienots tehnoloģiju komplekts
Izstrādes komanda Mazas autonomas komandas Viena liela komanda
Sarežģītība Augsta (sadarbība starp pakalpojumiem) Zema (vienkāršām lietojumprogrammām)
Datu pārvaldība Decentralizēta Centralizēta