- Distribúcia údajov
- Charakteristika distribuovaných systémov
- kompatibilita
- Odolnosť proti chybám
- Middleware a API
- architektúra
- Architektúra klient-server
- Architektúra typu peer-to-peer
- Viacúrovňové architektúry
- Architektúra skupiny procesorov
- Druhy distribuovaných systémov
- Cluster computing
- Sieťové výpočty
- Cloud computing
- Ciele
- Zdieľajte zdroje
- abstrakcie
- otváracia
- Interoperabilita a prenosnosť
- škálovateľnosť
- aplikácia
- Erlang virtuálny stroj
- bittorrent
- výhoda
- nevýhody
- Príklady distribuovaných systémov
- StackPath
- internet
- Referencie
Tieto distribuované systémy sú kúsky softvér používa na koordináciu akcií vo viacerých počítačoch. Táto koordinácia sa dosiahne výmenou správ, tj s časťami údajov, ktoré prenášajú informácie.
Distribuované systémy vyžadujú súbežné komponenty, komunikačnú sieť a synchronizačný mechanizmus. Umožňujú zdieľanie zdrojov, vrátane softvéru, systémami pripojenými k sieti. Systém je preto založený na sieti, ktorá spája počítače a spracováva smerovanie správ.

aab (distribuované systémy). b (paralelný systém). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Distribuované výpočty sú oblasťou výpočtov, ktorá je zodpovedná za analýzu distribuovaných systémov. Počítačový program, ktorý beží na distribuovanom systéme, sa nazýva distribuovaný program.
V kontexte, kde môžu existovať stovky alebo tisíce počítačov, čo je bežný podiel vo veľkých internetových spoločnostiach, je veľmi bežné, že došlo k zlyhaniu komponentov, či už ide o hardvér, sieť, disky atď., A systém musí byť pripravení čeliť im za každých okolností.
Distribúcia údajov
Distribúcia je kľúčom k tomu, aby bolo možné spracovať veľmi veľké dátové konglomeráty. Je potrebné dosiahnuť škálovateľnosť, čo je prostriedok na udržanie stabilného výkonu pri raste dátových fondov pridaním nových zdrojov do systému.
Na druhej strane distribúcia predstavuje rad technických problémov, ktoré si vyžadujú zváženie návrhu a implementácie distribuovanej výpočtovej techniky a úložiska. Jedným bodom, ktorý treba zohľadniť, je riziko možných porúch.
Charakteristika distribuovaných systémov

aab (distribuované systémy). b (paralelný systém). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
kompatibilita
Zariadenia môžu pracovať s rôznymi operačnými systémami. To im nebráni v tom, aby používateľom vždy ponúkali rovnaké služby. Z tohto dôvodu sú všetky pripojené zariadenia navzájom kompatibilné.
Ďalším zásadným problémom je návrh softvéru, pretože je tiež kompatibilný so všetkými systémami a používateľmi, ktorí sú na každom počítači.
Odolnosť proti chybám
Ak niektorá z komponentov zlyhá, môže byť jedinou sieťou s mnohými počítačmi a ostatné môžu pokračovať v plnom výkone svojich funkcií a rýchlo sa vyhýbať chybám.
Z tohto dôvodu distribuované systémy majú tendenciu poskytovať veľkú dôveru pri práci s nimi, pretože je pomerne zriedkavé, aby systém úplne zlyhal, pretože úlohy sa nenachádzajú v jednom zariadení, ale v rôznych počítačoch.
Middleware a API
Rôzni procesory používajú distribučný middleware, ktorý pomáha zdieľať rôzne zdroje a schopnosti, aby používateľom poskytoval koherentnú a integrovanú sieť. Aplikáciám tiež ponúka množstvo služieb, ako napríklad zabezpečenie a zotavenie po havárii.
Dnes sa dozviete viac o rozhraniach programovania aplikácií (API), ktoré fungujú ako brána, kde môžu aplikácie komunikovať. Aplikácie nemusia vedieť nič o iných aplikáciách okrem ich API.
architektúra
Architektúra klient-server
Konkrétny počítač nazývaný server môže vykonávať určité úlohy, ktoré sa nazývajú služby. Napríklad poskytovanie súborov v sieti, schopnosť vykonávať určité príkazy alebo smerovať údaje do tlačiarne. Klient je počítač, ktorý požaduje služby.
Počítač známy predovšetkým pre službu, ktorú poskytuje, sa môže nazývať tlačový server, súborový server atď.
Architektúra typu peer-to-peer
Predpokladá sa, že každý počítač má podobné schopnosti a že žiadny stroj nie je určený na obsluhu ostatných. Príkladom je súbor mikropočítačov v malej kancelárii.
Sieť ľuďom umožňuje vzájomný prístup k súborom a posielaniu e-mailov, ale žiadny počítač neposkytuje špecifickú skupinu služieb.
Viacúrovňové architektúry
Pre určité služby môže mať zmysel mať hierarchické pripojenie. Napríklad:
- Server môže pri vykonávaní svojich úloh kontaktovať iný server iného typu
- Architektúra klient-server je dvojvrstvová architektúra.
Architektúra skupiny procesorov
Operačný systém by mohol automaticky spúšťať procesy na nečinných počítačoch a dokonca migrovať procesy do systémov s vyšším počtom dostupných cyklov CPU. V iných prípadoch môže užívateľ manuálne spustiť alebo presunúť procesy na dostupných systémoch.
Druhy distribuovaných systémov
Cluster computing
Je to zbierka podobných počítačov pripojených prostredníctvom vysokorýchlostnej miestnej siete. Často sa používa na paralelné programovanie, kde jeden program náročný na výpočty beží paralelne na viacerých počítačoch.
Každý klaster pozostáva z množiny výpočtových uzlov, ktoré sú monitorované a spravované jedným alebo viacerými uzlami nazývanými majstri.
Sieťové výpočty
Pozostáva z uzlov s výraznými rozdielmi v hardvérovej a sieťovej technológii. Súčasný trend mať špecifickú konfiguráciu uzlov pre určité úlohy viedol k väčšej rozmanitosti, ktorá je najbežnejšou v sieťových výpočtoch.
Cloud computing
Je to sada virtualizovaných zdrojov umiestnených v dátovom centre poskytovateľa cloudu. Zákazníci môžu vytvoriť virtualizovanú infraštruktúru, aby mohli využívať rôzne cloudové služby.
Užívateľovi sa zdá, že si prenajíma vlastný exkluzívny počítač. Je však pravdepodobné, že ju zdieľate s ostatnými zákazníkmi. To isté platí pre virtuálne úložisko.
Tieto virtualizované prostriedky sa môžu dynamicky konfigurovať, čo umožňuje škálovateľnosť. Ak potrebujete viac výpočtových prostriedkov, systém môže kúpiť viac.
Ciele
Zdieľajte zdroje
Či už ide o úložné zariadenia, dátové súbory, služby alebo siete, možno budete chcieť kvôli hospodárnosti zdieľať tieto zdroje medzi aplikáciami.
Je omnoho lacnejšie mať spoločné úložisko medzi viacerými aplikáciami, ako kupovať a udržiavať úložisko pre každú zvlášť.
abstrakcie
Ak chcete skryť, že procesy a zdroje sú distribuované na niekoľkých počítačoch, prípadne geograficky rozptýlené. To znamená, že procesy a zdroje sú abstrahované od používateľa.
otváracia
V podstate to znamená, že distribuovaný systém je postavený s prvkami, ktoré sa dajú ľahko integrovať do iných systémov. Podľa štandardizovaných pravidiel môže akýkoľvek proces s týmto rozhraním komunikovať s iným procesom s rovnakým rozhraním.
Interoperabilita a prenosnosť
Hovorí o tom, kedy môžu dva systémy od rôznych výrobcov spolupracovať. Prenosnosť určuje, do akej miery môže aplikácia vytvorená pre systém A fungovať v systéme B bez úprav.
škálovateľnosť
Je potrebné, keď sa zvyšuje počet používateľov, ktorí potrebujú viac zdrojov. Dobrým príkladom je nárast publika Netflix každý piatok večer.
Znamená to dynamické pridávanie ďalších zdrojov, napríklad zvýšenie kapacity siete povolením väčšieho prenosu videa a jej zníženie po normalizácii spotreby.
aplikácia
Erlang virtuálny stroj

Softvérový balík LYME je založený na Erlang a ponúka alternatívu k LAMP. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang je funkčný jazyk, ktorý má veľkú sémantiku pre súbežnosť, distribúciu a odolnosť voči chybám. Virtuálny stroj Erlang zabezpečuje distribúciu aplikácie Erlang.
Tento model funguje tak, že má veľa izolovaných procesov, všetko so schopnosťou vzájomnej komunikácie prostredníctvom zabudovaného systému správ.
Virtuálny stroj Erlang sa môže pripojiť k iným virtuálnym strojom, ktoré sú na rôznych miestach. Tento roj virtuálnych počítačov spúšťa jednu aplikáciu a rieši zlyhania jedného počítača tak, že ho naplánuje tak, aby bežal na inom uzle.
bittorrent

Prevádzka siete BitTorrent. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Je to jeden z najčastejšie používaných protokolov na prenos veľkých súborov na webe. Hlavnou myšlienkou je uľahčiť prenos súborov medzi rôznymi rovesníkmi v sieti bez toho, aby museli ísť cez hlavný server.
Pomocou klienta BitTorrent sa môžete pripojiť k viacerým počítačom na celom svete a načítať súbor. Počítač fungujúci ako koordinátor pomáha zobrazovať uzly v sieti, ktoré majú požadovaný súbor.
BitTorrent vám umožňuje dobrovoľne hostiť súbory a nahrávať ich pre ostatných používateľov, ktorí ich chcú. Je tak populárny, pretože bol prvým svojho druhu, ktorý ponúkol stimuly na prispievanie do siete.
výhoda
- Do distribuovaného systému je možné ľahko pridať viac uzlov, to znamená, že sa dá podľa potreby škálovať.
- Všetky uzly v distribuovanom systéme sú navzájom prepojené. Preto každý z uzlov môže ľahko zdieľať údaje s ostatnými uzlami.
- Prostriedky ako tlačiarne môžu byť zdieľané s viacerými uzlami namiesto toho, aby boli obmedzené iba na jeden.
- Zlyhanie jedného uzla nevedie k zlyhaniu celého distribuovaného systému. Ostatné uzly môžu stále komunikovať medzi sebou.
nevýhody
- Niektoré správy a údaje sa môžu stratiť v sieti pri prechode z jedného uzla do druhého.
- Je ťažké zabezpečiť primeranú bezpečnosť v distribuovaných systémoch, pretože musia byť zabezpečené uzly aj pripojenia.
- Môže dôjsť k preťaženiu siete, ak sa všetky uzly v distribuovanom systéme pokúsia odoslať údaje súčasne.
- Databáza pripojená k distribuovaným systémom je v porovnaní so systémom jedného používateľa pomerne komplikovaná a zložitá.
Príklady distribuovaných systémov
Distribuované systémy môžu byť použité vo veľkom počte prípadov, ako sú systémy elektronického bankovníctva, masívne multiplayerové online hry a senzorové siete.
StackPath
Na napájanie sieťovej služby na doručovanie obsahu využíva mimoriadne veľký distribuovaný systém. Každý z jeho miest prítomnosti (PoP) má uzly, ktoré tvoria celosvetovo distribuovaný systém.
StackPath ukladá najaktuálnejší a najžiadanejší obsah na miestach, ktoré sú najbližšie k použitej lokalite.
Prepojením virtuálnych počítačov, okrem využitia rýchlosti a obratnosti najmodernejších výpočtov, dokáže systém veľmi rýchlo zvládnuť tisíce súčasných požiadaviek.
internet
Je to najväčší distribuovaný systém na svete. Každý užívateľ sa cíti ako jediný systém, hoci je tvorený miliónmi počítačov.
Prostredníctvom konceptu abstrakcie nemáte potuchy, kde sú uložené údaje, koľko serverov je zapojených alebo ako sa informácie dostanú do prehliadača. Prehliadač rozpúšťa zložitosť internetu.
Platí to aj pre aplikácie, ako je e-mail Gmail alebo akákoľvek iná použiteľná aplikácia. Každý človek interaguje s distribuovanými aplikáciami každý deň.
Referencie
- Paul Krzyzanowski (2018). Distribuované systémy. Prevzaté z: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Distribuované systémy a cloudové natívne výpočty. Nový zásobník. Prevzaté z: thenewstack.io.
- Medzinárodná univerzita vo Valencii (2020). Distribuované systémy, charakteristiky a klasifikácia. Prevzaté z: universidadviu.com.
- David Meador (2018). Distribuované systémy. Cvičenia Bod. Prevzaté z: tutorialspoint.com.
- Robert Gibb (2019). Čo je distribuovaný systém? Prevzaté z: blog.stackpath.com.
- Stanislav Kozlovski (2018). Dôkladný úvod do distribuovaných systémov. Bezplatný kódový tábor. Prevzaté z: freecodecamp.org.
