Junior
Šta su mikroservisi?
sobes.tech АИ
Одговор од АИ
Микросервиси су архитектонски стил у којем се апликација гради као скуп малих, аутономних сервиса, од којих сваки извршава одређену пословну функцију.
Главне карактеристике:
- Мали и фокусирани: Сваки сервис решава један уски задатак.
- Аутономни: Могу се развијати, распоређивати и скалирати независно.
- Децентрализовано управљање подацима: Свакој услузи може бити додатна сопствена база података.
- Међусервисна интеракција: Обично се одвија преко лако тежих протокола (нпр. REST, gRPC).
- Отпорност на кварове: Квар једног сервиса не мора довести до отказа целе апликације.
- Технолошка хетерогеност: Различити сервиси могу користити различите програмске језике и технологије.
Плусеви:
- Бржа развој и распоређивање.
- Боља скалабилност појединачних компоненти.
- Повишена отпорност.
- Лакше увођење нових технологија.
Минуси:
- Повећана сложеност система у целини.
- Потреба за управљањем распоређеним трансакцијама.
- Тешкоће са мониторингом и дебаговањем.
- Захтева зрелију културу DevOps.
Поређење са монолитом:
| Карактеристика | Микросервиси | Монолит |
|---|---|---|
| Величина | Мали, фокусирани сервиси | Једна велика апликација |
| Распоређивање | Независно распоређивање сервиса | Распоређивање целе апликације |
| Скалирање | Скалирање појединачних сервиса | Скалирање целе апликације |
| Отпорност | Висока (квар једног сервиса није критичан) | Ниска (квар компонента утиче на све) |
| Технологије | Могућност коришћења различитих стекова | Један стек технологија |
| Тим за развој | Мали аутономни тимови | Један велики тим |
| Сложеност | Висока (интеракција сервиса) | Ниска (за једноставне апликације) |
| Управљање подацима | Децентрализовано | Централизовано |