Navigation is at the bottom.

Táto stránka bola presunutá na novú adresu! Viac o presune sa dočítate tu.

This webpage has been moved to a new address!

Architektúra Klient-Server a Peer-to-Peer

V tomto dokumente popíšem rozdiely, výhody a nevýhody a princípy komunikačných architektúr.

Program na jednom počítači môže komunikovať s programom na inom počíťači, na mobile alebo dokonca na tom istom počítači. Všeobecne povedané: Procesy komunikujú medzi sebov.

Klient - Server

Rôzne procesy, nazvime ich klienti, komnikujú s jedným a tým istým serverom.

Server je proces, ktorý beží na počítači. Počítač, na ktorom beží server, tiež nazývame server (stroj).

Tu je jasne určená hierarchia. Klient dáva príkazy a server ich plní. Klient je serveru nadradený. Klient začína a ukončuje komunikáciu.

Servere sa riadia heslom “Náš zákazník náš pán”.

Kedže je veľa klientov, ktorý chcú so serverom komunikovať naraz, musí byt server (stroj) výkonnejší. Linka, cez ktorú komunikuje server musí mať podstatne väčšiu priepustnosť. A hlavne server musí prímať spojenia stále, stále stroj na ktorom beží musí byť zapnutý a pripojený.

Schéma

Tieto obmedzenia majú za následok, že servere sú výsadou firiem a väčších spoločností. Väčšina obyčajných uživateľou nemôže mať server. A tak sa stávajú závislí na verejne prístupných serveroch.

Ked takýto server vypadne, jeho klienti sú v háji.

Další problém je taký, že servere medzi sebov (väčšinou) nekomunikujú. Máš účet na jedom servere, máte tam napríklad niaké dokumenty alebo emailovú schránku. Prejdeš na iný server a tam to nemáš.

Čím viac je pripojených klientov k serveru, tým je server pomalší.

Príklady:

Peer - Peer

V tejto architektúre sú komunikujúce procesy medzi sebov rovnocené. Začať komunikáciu môže tak jeden proces ako aj druhý. Táto architektúra sa používa, ked chceme prepojiť viacero procesov ale nechceme zriadovať a udržovať server.

Peer (rovesník) beží na stroji (počítači, mobiľe …) obyčajného použivateľa, ktorý ho môže kedykoľvek vypnúť alebo sa odpojiť. P2P programy musia byť na to stavané a tolerovať časté výpadky.

P2P program musí niakým spôsobom nájsť množstvo rovesníkov s ktorými môže komunikovať. Musí tolerovať, že rovesníci nepretržite prichádzajú alebo sa stávajú nedostupnými. P2P program musí riešiť otázku, na ktorého z rovesníkov sa obrátiť, aby splnil požiadavky uživaťeľa.

Jednotlivé P2P spojenie tvoria sieť. Tak ako je sieťou Internet tak p2p siete sú stavané nad internetovou vrstvou.

Aj ked veľké servery veľkých spoločností sú akokoľvek výkonné, nevyrovnajú sa výkonu a úložnému priestoru nespočetného množstva osobných počítačov a počítačoidných strojou dovedna pospájaných do p2p siete.

Schéma

P2P programy sú spoľahlivé. Výpadok hoci aj polovice rovesníkov neohrozí existenciu siete.

Čím viac ľudí používa p2p, tým je tá p2p sieť rýchlejšia a spoľahlivejšia. Lebo P2P programy majú špecifickú vlastvosť, že sa dôležité dáta uložia na viacero rovesníkov v sieti.

Tak vzniká jeden z hlavných problémov P2P: Nové služby (súbory) na p2p sieti sú pomalé, lebo ich ešte nikdo nepoužíva. Ked sú pomalé a vupadávajú, tak ich nikdo nechce používať. Ked sú nepoužívané, tak sú pomalé.

Príklady:

Federetívne Server to Server

Existujú složby, ktoré sídce využívajú architektúru klient-server ale na rozdiel od tradičnej k-s, tieto servery komunikujú medzi sebov a svojim sposobom si zdielajú dáta, ktoré potom poskytujú užívateľom.

Schéma

Tak sa stane, že si na jednom (napr) Jabber servere urobíte účet a môžte si popridávať kamarátov z iných serverov a normálne s nimi komunikovať.

Nebolo by úžasné, medzi Fuckbook priateľov popridávať ľudí z Tfitteru alebo GeezPlus? Pri emaile to samozrejme ide a nikto sa nad tým ani nepozastafil.

SKS servere majú špecifickú vlastnosť. Na každom SKS je presne to isté (pgp kľúce). Každú chvíľu sa tieto SKS servere “zídu” a porozprávajú si o všetkých novinkách. Ked som uploadoj môj pgp kľúč na jeden server o chvíľu sa rozkopíroval na daľšie a nakoniec až všetky SKS servere na Internete ako klebeta (gossip).

Príklady: