Middle
Jakie są typy architektury usług internetowych?
sobes.tech AI
Odpowiedź od AI
-
Architektura monolityczna:
- Jednolity, samodzielny kod łączący wszystkie komponenty (UI, logika biznesowa, dostęp do danych).
- Prosty rozwój i wdrożenie na początkowych etapach.
- Trudności z skalowaniem, utrzymaniem i wprowadzaniem zmian w miarę rozwoju projektu.
-
Architektura mikroserwisów:
- Aplikacja podzielona na zestaw małych, niezależnych usług komunikujących się przez sieć (często przez API).
- Każda usługa odpowiada za odrębną funkcję i może być rozwijana, testowana i wdrażana niezależnie.
- Lepsza skalowalność, odporność na awarie (awaria jednej usługi nie wpływa na pozostałe), możliwość użycia różnych technologii dla różnych usług.
- Złożoność zarządzania dużą liczbą usług, konieczność rozproszonego logowania i monitorowania.
-
Architektura zorientowana na usługi (SOA):
- Składa się z usług komunikujących się przez przedsiębiorczy bus (ESB - Enterprise Service Bus).
- Usługi mogą być duże i używać różnych protokołów.
- Cel: zwiększenie elastyczności i ponownego użycia usług w ramach organizacji.
- Różnice od mikroserwisów: większe usługi, centralny bus komunikacyjny.
-
Architektura bezserwerowa (Serverless):
- Programista skupia się na pisaniu kodu, a zarządzanie serwerami i infrastrukturą przejmuje dostawca chmury (np. AWS Lambda, Azure Functions).
- Płatność za użycie, automatyczne skalowanie.
- Redukcja kosztów operacyjnych i wysiłków administracyjnych.
- Ograniczenia czasowe i zasobowe, zależność od dostawcy chmury.
-
Architektura na poziomach N:
- Aplikacja podzielona na warstwy lub poziomy logiczne, z których każdy pełni określoną rolę i komunikuje się tylko z sąsiednimi warstwami.
- Typowe warstwy: warstwa prezentacji (UI), warstwa logiki biznesowej, warstwa dostępu do danych.
- Zwiększa modularność i ułatwia podział obowiązków.
graph TD
A[Użytkownik] --> B{Usługa webowa};
B --> C[Architektura];
C --> D[Monolityczna];
C --> E[Mikroserwisy];
C --> F[SOA];
C --> G[Serverless];
C --> H[Architektura wielowarstwowa];