Zhrnutie na Servery, klient-server architektúra a inflácia
Servery, Klient-Server Architektúra a Inflácia: Podrobný Rozbor
Úvod
Server a klient-server architektúra sú základom fungovania internetu a mnohých aplikácií, ktoré denno-denne používame. Tento materiál vysvetlí, čo je server, ako sú servery navrhnuté, aké operačné systémy používajú, ako funguje klient-server komunikácia v programovaní a ako sa tento model používa v databázach.
Definícia: Server je výkonný počítač alebo softvér, ktorý poskytuje služby iným zariadeniam v sieti — tzv. klientom.
1. Základné pojmy
Kto je klient a kto server
- Klient: zariadenie alebo program, ktorý žiada službu (napr. webový prehliadač alebo e-mailový klient).
- Server: zariadenie alebo softvér, ktorý službu poskytuje (napr. webový server, databázový server).
- Služba: konkrétna funkcia, napr. zdieľanie súborov, posielanie e-mailov, poskytovanie webových stránok.
Definícia: Klient je aplikácia alebo zariadenie, ktoré posiela požiadavky serveru. Server je aplikácia alebo zariadenie, ktoré tieto požiadavky spracuje a odpovie.
Typické príklady serverov
- Webový server: Apache, Nginx
- Databázový server: MySQL, PostgreSQL
- Súborový server: NAS alebo Windows File Share
- E-mailový server, herný server
2. Architektúra serverov
Architektúra popisuje, ako je server navrhnutý a ako spolupracuje so zvyškom infraštruktúry.
Typy architektúry
- Jednoúčelové servery: každý server má jednu úlohu (napr. iba databáza).
- Multifunkčné servery: jeden server vykonáva viacero úloh súčasne.
- Blade servery: modulárne dosky v racku, šetria miesto a zjednodušujú údržbu.
- Cluster: skupina serverov spolupracujúcich pre vyššiu spoľahlivosť a výkon.
- Cloudová architektúra: servery v dátových centrách poskytujú služby cez internet (napr. Google Cloud, AWS).
Porovnanie typov (tabuľka)
| Typ | Výhody | Nevýhody |
|---|---|---|
| Jednoúčelový server | Jednoduchá konfigurácia, bezpečnosť | Vyššie náklady pri viacerých úlohách |
| Multifunkčný server | Úspora HW, menej zariadení | Riziko zlyhania viacerých služieb naraz |
| Cluster | Vysoká dostupnosť, škálovateľnosť | Zložitejšia správa |
| Cloud | Flexibilita, platba za použitie | Závislosť na poskytovateľovi |
3. Serverové operačné systémy
Serverové OS sú optimalizované pre stabilitu a dlhodobý chod.
Definícia: Serverový operačný systém je systém navrhnutý na spoľahlivé poskytovanie sieťových služieb, správu používateľov a bezpečnosť.
Najčastejšie systémy
- Windows Server: často využívaný vo firemných sieťach, integrácia s Active Directory.
- Linux (Ubuntu Server, CentOS, Debian): open-source, používaný pre webhosting a databázy.
- UNIX (napr. Solaris): tradičné prostredie pre veľmi stabilné systémy.
- VMware ESXi: hypervízor pre virtualizáciu serverov.
Bežné funkcie serverových OS
- Správa používateľov a práv
- Sieťové služby: DHCP, DNS, LDAP
- Bezpečnostné politiky (firewally, aktualizácie)
- Virtualizácia virtuálnych strojov
4. Programovanie: klient-server architektúra
Ako model funguje
- Klient vytvorí požiadavku (napr. kliknutie na odkaz).
- Požiadavka sa odošle serveru cez sieť.
- Server prijme požiadavku, spracuje ju (napr. načíta z databázy) a pripraví odpoveď.
- Klient prijme odpoveď a zobrazí výsledok používateľovi.
Definícia: Klient-server je model komunikácie, kde klient žiada služby a server ich poskytuje.
Typy komunikácie
- Synchronous (synchronná): klient čaká na okamžitú odpoveď (napr. načítanie stránky).
- Asynchronous (asynchronná): klient nečaká; odpoveď príde neskôr (napr. AJAX, push notifikácie).
- Jednosmerná / dvojsmerná: tradičné HTTP je jednosmerné z klienta na server, WebSocket umožňuje dvojsmernú komunikáciu v reálnom čase.
Bežné protokoly
| Protokol | Použitie |
|---|---|
| HTTP/HTTPS | Webové stránky, REST API |
| FTP | Prenos súborov |
| SMTP/IMAP | E |
Už máš účet? Prihlásiť sa
Servery a klient-server
Klíčové pojmy: Server poskytuje služby klientom, Klient žiada službu, server odpovedá, Typy serverov: web, DB, súborový, e-mailový, Architektúra: jednoúčelový, multifunkčný, cluster, cloud, Serverové OS: Windows Server, Linux, UNIX, VMware ESXi, Klient-server workflow: požiadavka -> spracovanie -> odpoveď, Komunikácia: synchronná vs asynchronná; WebSocket pre real-time, Bežné protokoly: HTTP/HTTPS, TCP/IP, FTP, SMTP/IMAP, WebSocket, Databázový server spracúva SQL dotazy a centralizuje údaje, Výhody centralizovaných DB: bezpečnosť, viac klientov súčasne, Cluster a cloud zvyšujú dostupnosť a škálovateľnosť, Virtualizácia umožňuje spúšťať viaceré servery na jednom HW