Sobes.tech
Junior

Šta su mikroservisi?

sobes.tech АИ

Одговор од АИ

Микросервиси су архитектонски стил у којем се апликација гради као скуп малих, аутономних сервиса, од којих сваки извршава одређену пословну функцију.

Главне карактеристике:

  • Мали и фокусирани: Сваки сервис решава један уски задатак.
  • Аутономни: Могу се развијати, распоређивати и скалирати независно.
  • Децентрализовано управљање подацима: Свакој услузи може бити додатна сопствена база података.
  • Међусервисна интеракција: Обично се одвија преко лако тежих протокола (нпр. REST, gRPC).
  • Отпорност на кварове: Квар једног сервиса не мора довести до отказа целе апликације.
  • Технолошка хетерогеност: Различити сервиси могу користити различите програмске језике и технологије.

Плусеви:

  • Бржа развој и распоређивање.
  • Боља скалабилност појединачних компоненти.
  • Повишена отпорност.
  • Лакше увођење нових технологија.

Минуси:

  • Повећана сложеност система у целини.
  • Потреба за управљањем распоређеним трансакцијама.
  • Тешкоће са мониторингом и дебаговањем.
  • Захтева зрелију културу DevOps.

Поређење са монолитом:

Карактеристика Микросервиси Монолит
Величина Мали, фокусирани сервиси Једна велика апликација
Распоређивање Независно распоређивање сервиса Распоређивање целе апликације
Скалирање Скалирање појединачних сервиса Скалирање целе апликације
Отпорност Висока (квар једног сервиса није критичан) Ниска (квар компонента утиче на све)
Технологије Могућност коришћења различитих стекова Један стек технологија
Тим за развој Мали аутономни тимови Један велики тим
Сложеност Висока (интеракција сервиса) Ниска (за једноставне апликације)
Управљање подацима Децентрализовано Централизовано