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 |