Sobes.tech
Middle

Aké typy architektúry webových služieb existujú?

sobes.tech AI

Odpoveď od AI

  1. Monolitická architektúra:

    • Jednotný, samostatný kód, ktorý spája všetky komponenty (UI, biznis logika, prístup k dátam).
    • Jednoduchý vývoj a nasadenie na počiatočných etapách.
    • Problémy so škálovateľnosťou, údržbou a zavádzaním zmien pri raste projektu.
  2. Mikroslužbová architektúra:

    • Aplikácia je rozdelená na súbor malých, nezávislých služieb, ktoré komunikujú cez sieť (často cez API).
    • Každá služba je zodpovedná za samostatnú funkciu a môže byť vyvíjaná, testovaná a nasadená nezávisle.
    • Vylepšená škálovateľnosť, odolnosť voči chybám (zlyhanie jednej služby neovplyvňuje ostatné), možnosť použiť rôzne technológie pre rôzne služby.
    • Zložitosť správy veľkého množstva služieb, potreba distribuovaného logovania a monitorovania.
  3. Službovo orientovaná architektúra (SOA):

    • Skladá sa zo služieb, ktoré komunikujú cez podnikové rozhranie (ESB - Enterprise Service Bus).
    • Služby môžu byť veľké, používať rôzne protokoly.
    • Cieľ: zvýšiť flexibilitu a opätovné použitie služieb v rámci organizácie.
    • Rozdiel od mikroslužieb: väčšie služby, prítomnosť centralizovaného komunikačného busu.
  4. Serverless architektúra:

    • Vývojár sa zameriava na písanie kódu, zatiaľ čo správa serverov a infraštruktúry je na poskytovateľovi cloudových služieb (napríklad AWS Lambda, Azure Functions).
    • Platba za skutočné použitie, automatické škálovanie.
    • Zníženie prevádzkových nákladov a úsilí o administráciu.
    • Obmedzenia v čase vykonávania a zdrojoch, závislosť od poskytovateľa cloudových služieb.
  5. N-vrstvová architektúra:

    • Aplikácia je rozdelená na logické vrstvy alebo úrovne, z ktorých každá plní určitú úlohu a komunikuje iba so susednými vrstvami.
    • Typické vrstvy: prezentačná vrstva (UI), biznis logika, prístup k dátam.
    • Zvyšuje modularitu a uľahčuje rozdeľovanie povinností.
graph TD
    A[Používateľ] --> B{Webová služba};
    B --> C[Architektúra];
    C --> D[Monolit];
    C --> E[Mikroslužby];
    C --> F[SOA];
    C --> G[Serverless];
    C --> H[N-úrovňová];