Sobes.tech
Junior

Mis on mikroteenused?

sobes.tech AI

Vastus AI-lt

Mikroteenused on arhitektuuristiil, kus rakendust ehitatakse väikeste, autonoomsete teenuste kogumina, millest igaüks täidab kindlat äri funktsiooni.

Peamised omadused:

  • Väikesed ja keskendunud: Iga teenus lahendab ühe kitsama ülesande.
  • Autonoomsed: Neid saab arendada, juurutada ja skaleerida sõltumatult.
  • Andmete haldamise decentraliseerimine: Iga teenus võib omada oma andmebaasi.
  • Vaheteenuste suhtlus: Tavaliselt toimub kergete protokollide (nt REST, gRPC) kaudu.
  • Veaduskindlus: Ühe teenuse viga ei pruugi põhjustada kogu rakenduse tõrkeid.
  • Tehnoloogiline heterogeenia: Erinevad teenused võivad kasutada erinevaid programmeerimiskeeli ja tehnoloogiaid.

Eelised:

  • Kiirem arendus ja juurutus.
  • Parema skaleeritavuse võimalus üksikutele komponentidele.
  • Suurem vastupidavus.
  • Uute tehnoloogiate lihtsam kasutuselevõtt.

Miinused:

  • Süsteemi üldine keerukus suureneb.
  • Vajalik on jaotatud transaktsioonide haldamine.
  • Monitooringu ja silumise keerukus.
  • Nõuab küpsemat DevOps kultuuri.

Võrdlus monoliidiga:

Omadus Mikroteenused Monoliit
Suurus Väikesed, keskendunud teenused Üks suur rakendus
Juurutamine Sõltumatu juurutamine Kogu rakenduse juurutamine
Skaleerimine Eraldi teenuste skaleerimine Kogu rakenduse skaleerimine
Vastupidavus Kõrge (ühe teenuse viga ei ole kriitiline) Madal (komponendi viga mõjutab kõike)
Tehnoloogiad Võimalus kasutada erinevaid tehnoloogiaid Ühtne tehnoloogiline komplekt
Arendusmeeskond Väikesed autonoomsed meeskonnad Üks suur meeskond
Keerukus Kõrge (teenuste vaheline koostöö) Madal (lihtsate rakenduste puhul)
Andmete haldamine Dekentraliseeritud Keskne