Middle
Jaké typy architektur webových služeb existují?
sobes.tech AI
Odpověď od AI
-
Monolitická architektura:
- Jednotný, samostatný kód, který spojuje všechny komponenty (UI, obchodní logika, přístup k datům).
- Jednoduchý vývoj a nasazení v počátečních fázích.
- Potíže s škálovatelností, údržbou a implementací změn s růstem projektu.
-
Mikroslužbová architektura:
- Aplikace je rozdělena na sadu malých, nezávislých služeb, které komunikují přes síť (často přes API).
- Každá služba odpovídá za specifickou funkci a může být nezávisle vyvíjena, testována a nasazena.
- Lepší škálovatelnost, odolnost vůči chybám (selhání jedné služby neovlivní ostatní), možnost použití různých technologií.
- Složitost správy velkého počtu služeb, potřeba distribuovaného logování a monitorování.
-
Službami orientovaná architektura (SOA):
- Skládá se ze služeb, které komunikují přes podnikový bus (ESB - Enterprise Service Bus).
- Služby mohou být velké a používat různé protokoly.
- Cíl: zvýšení flexibility a opětovného využití služeb v rámci organizace.
- Rozdíly od mikroslužeb: větší služby, centrální komunikační bus.
-
Serverless architektura:
- Vývojář se zaměřuje na psaní kódu, zatímco správa serverů a infrastruktury je svěřena poskytovateli cloudových služeb (například AWS Lambda, Azure Functions).
- Platba podle využití, automatické škálování.
- Snížení provozních nákladů a úsilí o správu.
- Omezení v době běhu a zdrojích, závislost na poskytovateli cloudových služeb.
-
N-úrovňová architektura:
- Aplikace je rozdělena na logické vrstvy nebo úrovně, z nichž každá plní určitou roli a komunikuje pouze s přilehlými vrstvami.
- Typické vrstvy: prezentační vrstva (UI), obchodní logika, přístup k datům.
- Zvyšuje modularitu a usnadňuje rozdělení odpovědností.
graph TD
A[Uživatel] --> B{Webová služba};
B --> C[Architektura];
C --> D[Monolitická];
C --> E[Mikroslužby];
C --> F[SOA];
C --> G[Serverless];
C --> H[N-úrovňová];