Sobes.tech
Junior

Čo sú mikroservisy?

sobes.tech AI

Odpoveď od AI

Mikroslužby sú architektonický štýl, pri ktorom sa aplikácia stavia ako súbor malých, autonómnych služieb, z ktorých každý vykonáva určitú obchodnú funkciu.

Hlavné charakteristiky:

  • Malé a zamerané: Každá služba rieši jeden úzky úlohu.
  • Autonómne: Môžu sa vyvíjať, nasadzovať a škálovať nezávisle.
  • Decentralizované riadenie údajov: Každá služba môže mať vlastnú databázu.
  • Medzislužobná komunikácia: Zvyčajne prebieha cez ľahké protokoly (napr. REST, gRPC).
  • Odolnosť voči chybám: Chyba jednej služby nevedie nevyhnutne k zlyhaniu celej aplikácie.
  • Technologická heterogenita: Rôzne služby môžu používať rôzne programovacie jazyky a technológie.

Výhody:

  • Rýchlejší vývoj a nasadenie.
  • Lepšia škálovateľnosť jednotlivých komponentov.
  • Zvýšená odolnosť.
  • Jednoduchšie zavádzanie nových technológií.

Nevýhody:

  • Zvýšená zložitosti systému ako celku.
  • Potreba riadenia distribuovaných transakcií.
  • Ťažkosti s monitoringom a ladením.
  • Vyžaduje zrelšiu kultúru DevOps.

Porovnanie s monolitom:

Charakteristika Mikroslužby Monolit
Veľkosť Malé, zamerané služby Jedna veľká aplikácia
Nasadenie Nezávislé nasadenie služieb Nasadenie celej aplikácie
Škálovanie Škálovanie jednotlivých služieb Škálovanie celej aplikácie
Odolnosť Vysoká (zlyhanie jednej služby nie je kritické) Nízka (zlyhanie komponentu ovplyvňuje všetko)
Technológie Možnosť použitia rôznych stackov Jednotný stack technológií
Vývojový tím Malé autonómne tímy Jeden veľký tím
Zložitosť Vysoká (interakcia služieb) Nízka (pre jednoduché aplikácie)
Riadenie údajov Decentralizované Centralizované