Sobes.tech
Junior

Co jsou mikroservisy?

sobes.tech AI

Odpověď od AI

Mikroslužby jsou architektonální styl, při kterém je aplikace postavena jako soubor malých, autonomních služeb, z nichž každá vykonává určitou obchodní funkci.

Hlavní charakteristiky:

  • Malé a zaměřené: Každá služba řeší jeden úzký úkol.
  • Autonomní: Mohou být vyvíjeny, nasazovány a škálovány nezávisle.
  • Decentralizované řízení dat: Každá služba může mít vlastní databázi.
  • Interakce mezi službami: Obvykle přes lehké protokoly (například REST, gRPC).
  • Odolnost vůči chybám: Selhání jedné služby nutně nevede k selhání celé aplikace.
  • Technologická heterogenita: Různé služby mohou používat různé programovací jazyky a technologie.

Výhody:

  • Rychlejší vývoj a nasazení.
  • Lepší škálovatelnost jednotlivých komponent.
  • Zvýšená odolnost.
  • Snazší zavádění nových technologií.

Nevýhody:

  • Zvýšená složitost celkového systému.
  • Nutnost správy distribuovaných transakcí.
  • Těžkosti s monitoringem a laděním.
  • Vyžaduje zralejší kulturu DevOps.

Porovnání s monolity:

Charakteristika Mikroslužby Monolit
Velikost Malé, zaměřené služby Velká aplikace
Nasazení Nezávislé nasazení služeb Nasazení celé aplikace
Škálovatelnost Škálování jednotlivých služeb Škálování celé aplikace
Odolnost vůči chybám Vysoká (selhání jedné služby není kritické) Nízká (selhání komponenty ovlivňuje vše)
Technologie Možnost použití různých technologií Jednotný technologický stack
Vývojový tým Malé autonomní týmy Velký tým
Složitost Vysoká (interakce mezi službami) Nízká (pro jednoduché aplikace)
Správa dat Decentralizovaná Centralizovaná