- Distribuce dat
- Charakteristika distribuovaných systémů
- Kompatibilita
- Odolnost proti chybám
- Middleware a API
- Architektura
- Architektura klient-server
- Architektura typu peer-to-peer
- Víceúrovňové architektury
- Architektura skupin procesorů
- Druhy distribuovaných systémů
- Cluster computing
- Počítačové sítě
- Cloud Computing
- cíle
- Sdílejte zdroje
- Abstrakce
- Otevírací
- Interoperabilita a přenositelnost
- Škálovatelnost
- Aplikace
- Erlang virtuální stroj
- Bittorrent
- Výhoda
- Nevýhody
- Příklady distribuovaných systémů
- StackPath
- Internet
- Reference
Tyto distribuované systémy jsou kousky software používá ke koordinaci akcí ve více počítačích. Této koordinace je dosaženo výměnou zpráv, tj. S částmi dat, které přenášejí informace.
Distribuované systémy vyžadují souběžné komponenty, komunikační síť a synchronizační mechanismus. Umožňují sdílení zdrojů, včetně softwaru, systémy připojenými k síti. Systém je proto založen na síti, která spojuje počítače a zpracovává směrování zpráv.
aab (distribuované systémy). b (paralelní systém). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Distribuovaná výpočetní technika je oblast výpočetní techniky, která odpovídá za analýzu distribuovaných systémů. Počítačový program, který běží na distribuovaném systému, se nazývá distribuovaný program.
V kontextu, kde mohou existovat stovky nebo tisíce počítačů, což je běžný podíl ve velkých internetových společnostech, je velmi běžné, že došlo k selhání součástí, ať už jde o hardware, síť, disky atd., A systém musí být připraveni čelit jim za všech okolností.
Distribuce dat
Distribuce je klíčem k tomu, aby bylo možné zpracovat velmi velké datové konglomeráty. Je nutné dosáhnout škálovatelnosti, což je prostředek k udržení stabilního výkonu při růstu datových fondů přidáním nových zdrojů do systému.
Na druhé straně distribuce představuje řadu technických problémů, které činí návrh a implementaci distribuované výpočetní techniky a úložiště důležitým faktorem. Jedním bodem, který je třeba vzít v úvahu, je riziko možných selhání.
Charakteristika distribuovaných systémů
aab (distribuované systémy). b (paralelní systém). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Kompatibilita
Zařízení mohou pracovat s různými operačními systémy. To jim nebrání v tom, aby uživatelům vždy nabízeli stejné služby. Z tohoto důvodu jsou všechna připojená zařízení vzájemně kompatibilní.
Dalším zásadním problémem je návrh softwaru, protože je také kompatibilní se všemi systémy a uživateli, které jsou na každém počítači.
Odolnost proti chybám
Pokud se některá z jejích součástí stane jedinou sítí s mnoha počítači, pokud některá z jejích součástí selže, ostatní mohou pokračovat v plném výkonu své funkce a rychle se vyhnout chybám.
Z tohoto důvodu distribuované systémy mají tendenci poskytovat velkou důvěru při práci s nimi, protože je docela vzácné, že systém úplně selže, protože úkoly nespočívají v jediném zařízení, ale v různých počítačích.
Middleware a API
Různé procesory používají distribuční middleware, který pomáhá sdílet různé zdroje a schopnosti, aby uživatelům poskytl koherentní a integrovanou síť. Poskytuje také aplikacím řadu služeb, například zabezpečení a zotavení po havárii.
Dnes se dozvíte více o aplikačních programovacích rozhraních (API), které fungují jako brána, kde mohou aplikace komunikovat. Aplikace nemusí vědět nic o jiných aplikacích kromě jejich API.
Architektura
Architektura klient-server
Konkrétní počítač nazývaný server může provádět určité úkoly, které se nazývají služby. Například poskytování souborů v síti, schopnost provádět určité příkazy nebo směrovat data do tiskárny. Klient je počítač vyžadující služby.
Počítač známý především pro službu, kterou poskytuje, může být nazýván tiskovým serverem, souborovým serverem atd.
Architektura typu peer-to-peer
Předpokládá, že každý počítač má podobné schopnosti a že žádný stroj není určen pro obsluhu ostatních. Příkladem je sada mikropočítačů v malé kanceláři.
Síť umožňuje lidem přístup k druhým souborům a odesílání e-mailů, ale žádný počítač neposkytuje konkrétní sadu služeb.
Víceúrovňové architektury
U některých služeb může mít smysl mít hierarchickou konektivitu. Například:
- Server může při plnění svých úkolů kontaktovat jiný server jiného typu
- Architektura klient-server je dvouvrstvá architektura.
Architektura skupin procesorů
Operační systém by mohl automaticky spouštět procesy na nečinných počítačích a dokonce migrovat procesy do systémů s vyšším počtem dostupných cyklů CPU. V ostatních případech může uživatel ručně spustit nebo přesunout procesy na dostupných systémech.
Druhy distribuovaných systémů
Cluster computing
Je to sbírka podobných počítačů připojených prostřednictvím vysokorychlostní místní sítě. Často se používá pro paralelní programování, kde jeden výpočetně náročný program běží paralelně na více počítačích.
Každý cluster se skládá ze sady výpočetních uzlů, které jsou monitorovány a spravovány jedním nebo více uzly zvanými master.
Počítačové sítě
Skládá se z uzlů s výraznými rozdíly v hardwarové a síťové technologii. Současný trend mít konkrétní konfiguraci uzlů pro určité úkoly vedl k větší rozmanitosti, což je nejběžnější v síťových počítačích.
Cloud Computing
Je to sada virtualizovaných zdrojů umístěných v datovém centru poskytovatele cloudu. Zákazníci si mohou vytvořit virtualizovanou infrastrukturu, aby mohli využívat celou řadu cloudových služeb.
Uživateli se zdá, že si pronajímá svůj vlastní exkluzivní počítač. Je však pravděpodobné, že je sdílíte s ostatními zákazníky. Totéž platí pro virtuální úložiště.
Tyto virtualizované prostředky lze dynamicky konfigurovat, což umožňuje škálovatelnost. Pokud potřebujete více výpočetních prostředků, může systém koupit více.
cíle
Sdílejte zdroje
Ať už jde o úložná zařízení, datové soubory, služby nebo sítě, možná budete chtít sdílet zdroje mezi aplikacemi v zájmu hospodárnosti.
Je mnohem levnější mít sdílené úložiště mezi více aplikacemi, než pro nákup a údržbu úložiště zvlášť.
Abstrakce
Chcete-li skrýt, že procesy a zdroje jsou distribuovány v několika počítačích, případně geograficky rozptýleny. To znamená, že procesy a prostředky jsou odebírány uživateli.
Otevírací
V zásadě to znamená, že distribuovaný systém je postaven s prvky, které lze snadno integrovat do jiných systémů. V souladu se standardizovanými pravidly může jakýkoli proces s tímto rozhraním komunikovat s jiným procesem se stejným rozhraním.
Interoperabilita a přenositelnost
Označuje, kdy mohou dva systémy od různých výrobců spolupracovat. Přenositelnost určuje, do jaké míry může aplikace vytvořená pro systém A fungovat v systému B beze změn.
Škálovatelnost
Je to nutné, pokud se zvyšuje počet uživatelů, kteří potřebují více zdrojů. Dobrým příkladem je nárůst publika Netflix každý pátek večer.
Znamená to dynamické přidávání více zdrojů, například zvýšení síťové kapacity umožněním většího přenosu videa a jeho snížení, jakmile se spotřeba normalizuje.
Aplikace
Erlang virtuální stroj
Softwarový balíček LYME je založen na Erlang a nabízí alternativu k LAMP. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang je funkční jazyk, který má velkou sémantiku pro souběžnost, distribuci a odolnost proti chybám. Virtuální stroj Erlang zajišťuje distribuci aplikace Erlang.
Tento model funguje tak, že má mnoho izolovaných procesů, všechny se schopností vzájemně komunikovat prostřednictvím vestavěného systému zasílání zpráv.
Virtuální stroj Erlang se může připojit k jiným virtuálním strojům, které jsou na různých místech. Tento roj virtuálních strojů spouští jednu aplikaci a řeší poruchy jednoho počítače tím, že jej naplánuje tak, aby běžel na jiném uzlu.
Bittorrent
BitTorrent síťové operace. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Je to jeden z nejpoužívanějších protokolů pro přenos velkých souborů na webu. Hlavní myšlenkou je usnadnit přenos souborů mezi různými vrstevníky v síti bez nutnosti procházet hlavním serverem.
Pomocí klienta BitTorrent se můžete připojit k více počítačům po celém světě a stáhnout soubor. Počítač fungující jako koordinátor pomáhá zobrazovat uzly v síti, které mají požadovaný soubor.
BitTorrent vám umožňuje dobrovolně hostovat soubory a nahrávat je pro ostatní uživatele, kteří je chtějí. Je tak populární, protože byl prvním svého druhu, který nabízel pobídky pro přispívání do sítě.
Výhoda
- Do distribuovaného systému lze snadno přidat více uzlů, to znamená, že lze podle potřeby škálovat.
- Všechny uzly v distribuovaném systému jsou vzájemně propojeny. Každý uzel proto může snadno sdílet data s ostatními uzly.
- Prostředky, jako jsou tiskárny, mohou být sdíleny s více uzly, místo aby byly omezeny pouze na jeden.
- Selhání jednoho uzlu nevede k selhání celého distribuovaného systému. Ostatní uzly mohou stále spolu komunikovat.
Nevýhody
- Některé zprávy a data mohou být ztraceny v síti při přechodu z jednoho uzlu do druhého.
- V distribuovaných systémech je obtížné zajistit odpovídající zabezpečení, protože musí být zabezpečeny uzly i připojení.
- Může dojít k přetížení sítě, pokud se všechny uzly v distribuovaném systému pokusí odeslat data současně.
- Databáze připojená k distribuovaným systémům je ve srovnání s jediným uživatelským systémem poměrně komplikovaná a obtížně spravovatelná.
Příklady distribuovaných systémů
Distribuované systémy lze použít v mnoha případech, jako jsou systémy elektronického bankovnictví, masivně multiplayerové online hry a senzorové sítě.
StackPath
K napájení síťové služby pro doručování obsahu používá obzvláště velký distribuovaný systém. Každý z jeho bodů přítomnosti (PoP) má uzly, které tvoří celosvětově distribuovaný systém.
StackPath ukládá nejnovější a nejčastěji požadovaný obsah do míst nejblíže k používanému webu.
Propojením virtuálních počítačů, kromě využití rychlosti a obratnosti nejmodernějších výpočtů, dokáže systém rychle zvládnout tisíce současných požadavků.
Internet
Je to největší distribuovaný systém na světě. Každý uživatel se cítí jako jediný systém, i když je tvořen miliony počítačů.
Díky konceptu abstrakce nemáte představu, kde jsou data uložena, kolik serverů je zapojeno nebo jak se informace dostávají do prohlížeče. Prohlížeč ruší složitost internetu.
To platí také pro aplikace, jako je e-mail Gmail nebo jakákoli jiná aplikace, kterou lze použít. Každý člověk denně komunikuje s distribuovanými aplikacemi.
Reference
- Paul Krzyzanowski (2018). Distribuované systémy. Převzato z: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Distribuované systémy a Cloud Native Computing. Nový zásobník. Převzato z: thenewstack.io.
- Mezinárodní univerzita ve Valencii (2020). Distribuované systémy, charakteristiky a klasifikace. Převzato z: universidadviu.com.
- David Meador (2018). Distribuované systémy. Cvičení Bod. Převzato z: tutorialspoint.com.
- Robert Gibb (2019). Co je distribuovaný systém? Převzato z: blog.stackpath.com.
- Stanislav Kozlovski (2018). Důkladný úvod do distribuovaných systémů. Zdarma kódový tábor. Převzato z: freecodecamp.org.