- Razdelitev podatkov
- Značilnosti porazdeljenih sistemov
- Kompatibilnost
- Toleranca napak
- Vmesna programska oprema in API
- Arhitektura
- Arhitektura odjemalca in strežnika
- Peer-to-peer arhitektura
- Večstopenjske arhitekture
- Arhitektura skupine procesorjev
- Vrste distribuiranih sistemov
- Klasično računanje
- Mrežno računalništvo
- Računalništvo v oblaku
- cilji
- Delite vire
- Abstrakcija
- Odpiranje
- Interoperabilnost in prenosljivost
- Prilagodljivost
- Prijave
- Erlang virtualni stroj
- Bittorrent
- Prednost
- Slabosti
- Primeri porazdeljenih sistemov
- StackPath
- Internet
- Reference
V porazdeljeni sistemi so deli programske opreme se uporablja za usklajevanje ukrepov za več računalnikov. To usklajevanje dosežemo z izmenjavo sporočil, torej s koščki podatkov, ki prenašajo informacije.
Razdeljeni sistemi zahtevajo sočasne komponente, komunikacijsko omrežje in mehanizem za sinhronizacijo. Omogočajo skupno rabo virov, vključno s programsko opremo, s sistemi, povezanimi v omrežje. Zato sistem temelji na omrežju, ki povezuje računalnike in obravnava usmerjanje sporočil.

a in b (porazdeljeni sistemi). b (vzporedni sistem). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Razdeljeno računalništvo je področje računalništva, ki je odgovorno za analizo porazdeljenih sistemov. Računalniški program, ki deluje v porazdeljenem sistemu, se imenuje porazdeljeni program.
V okoliščinah, ko je na stotine ali tisoče računalnikov, kar je pogost delež v velikih internetnih podjetjih, je zelo pogosto, da pride do okvar komponent, naj gre za strojno opremo, omrežje, diske itd., Sistem pa mora biti pripravljeni soočiti se z njimi ves čas.
Razdelitev podatkov
Distribucija je ključna za obvladovanje zelo velikih konglomeratov podatkov. Potrebna je za razširljivost, ki je sredstvo za ohranjanje stabilnih zmogljivosti, ko se baze podatkov povečujejo z dodajanjem novih virov v sistem.
Po drugi strani distribucija predstavlja vrsto tehničnih težav, zaradi katerih je pomembno upoštevati načrtovanje in izvajanje distribuiranega računalništva in pomnilnika. Ena točka, ki jo je treba upoštevati, je tveganje morebitnih neuspehov.
Značilnosti porazdeljenih sistemov

a in b (porazdeljeni sistemi). b (vzporedni sistem). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Kompatibilnost
Naprave lahko delujejo z različnimi operacijskimi sistemi. To jim ne preprečuje, da uporabnikom vedno ponujajo iste storitve. Zaradi tega so vse povezane naprave kompatibilne med seboj.
Drugo temeljno vprašanje je zasnova programske opreme, saj je združljiva tudi z vsemi sistemi in uporabniki, ki so na vsakem računalniku.
Toleranca napak
Ker je eno od omrežij z veliko računalniki, če katera od njegovih komponent ne uspe, lahko drugi še naprej v celoti opravljajo svojo funkcijo in se tako hitro izognejo napakam.
Zaradi tega distribucijski sistemi ponavadi nudijo veliko zaupanja pri delu z njimi, saj je sistem zelo resen, ker naloge ne stojijo v eni napravi, temveč v različnih računalnikih.
Vmesna programska oprema in API
Različni procesorji uporabljajo distribucijsko vmesno programsko opremo, s pomočjo katere si delijo različne vire in zmožnosti, da bi uporabnikom zagotovili skladno in integrirano omrežje. V aplikacijah ponuja tudi številne storitve, kot so varnost in obnovitev po nesreči.
Danes slišite več o vmesnikih za programiranje aplikacij (API-ji), ki delujejo kot prehod, s katerim lahko aplikacije komunicirajo. Pri aplikacijah ni treba vedeti ničesar o drugih aplikacijah, razen njihovega API-ja.
Arhitektura
Arhitektura odjemalca in strežnika
Določen računalnik, imenovan strežnik, lahko opravlja določena opravila, ki se imenujejo storitve. Na primer, streženje datotek po omrežju, možnost izvajanja določenih ukazov ali usmerjanje podatkov na tiskalnik. Naročnik je računalnik, ki zahteva storitve.
Računalnik, znan predvsem po storitvah, ki jih ponuja, se lahko imenuje tiskalni strežnik, datotečni strežnik ipd.
Peer-to-peer arhitektura
Predvideva, da ima vsak računalnik podobne zmožnosti in da noben stroj ni namenjen služenju drugim. Primer tega je nabor mikroračunalnikov v majhni pisarni.
Omrežje ljudem omogoča dostop do datotek drug drugega in pošiljanje e-poštnih sporočil, vendar noben računalnik ne ponuja določenega niza storitev.
Večstopenjske arhitekture
Za nekatere storitve je morda smiselno hierarhično povezovanje. Na primer:
- Strežnik pri opravljanju svojih nalog lahko stopi v stik z drugim strežnikom druge vrste
- Arhitektura odjemalec-strežnik je dvotirna arhitektura.
Arhitektura skupine procesorjev
Operacijski sistem lahko samodejno zažene procese v nedelovalnih računalnikih in celo preseli procese v sisteme z večjim številom razpoložljivih ciklov CPU-ja. V drugih primerih lahko uporabnik ročno zažene ali premika procese v razpoložljivih sistemih.
Vrste distribuiranih sistemov
Klasično računanje
Gre za zbirko podobnih računalnikov, povezanih preko hitrega lokalnega omrežja. Pogosto se uporablja za vzporedno programiranje, kjer en sam računalniško intenziven program deluje vzporedno na več računalnikih.
Vsaka gruča je sestavljena iz niza računskih vozlišč, ki jih nadzira in upravlja eno ali več vozlišč, imenovanih master.
Mrežno računalništvo
Sestavljajo ga vozlišča z izrazitimi razlikami v strojni in omrežni tehnologiji. Trenutni trend specifične konfiguracije vozlišč za določene naloge je privedel do večje raznolikosti, ki je najpogostejša pri omrežnem računalništvu.
Računalništvo v oblaku
Gre za niz virtualiziranih virov, ki so nameščeni v podatkovnem centru ponudnika oblakov. Kupci lahko vzpostavijo virtualizirano infrastrukturo in tako izkoristijo različne storitve v oblaku.
Uporabniku se zdi, da najame svoj ekskluzivni računalnik. Vendar pa je verjetno, da ga delite z drugimi strankami. Enako velja za virtualni pomnilnik.
Te virtualizirane vire je mogoče dinamično konfigurirati, kar omogoča razširljivost. Če je potrebnih več računalniških virov, lahko sistem kupi več.
cilji
Delite vire
Naprave za shranjevanje, podatkovne datoteke, storitve ali omrežja, boste morda želeli te vire deliti med aplikacijami zaradi varčnosti.
Mnogo ceneje je imeti shrambo v skupni rabi med več aplikacijami kot kupiti in vzdrževati shrambo za vsako posebej.
Abstrakcija
Da se skrije, da so procesi in viri razporejeni v več računalnikih, po možnosti geografsko razpršeni. To pomeni, da se procesi in viri odvzamejo od uporabnika.
Odpiranje
V bistvu pomeni, da je distribuiran sistem zgrajen z elementi, ki jih je mogoče enostavno integrirati z drugimi sistemi. V skladu s standardiziranimi pravili lahko vsak postopek s tem vmesnikom komunicira z drugim procesom z istim vmesnikom.
Interoperabilnost in prenosljivost
Nanaša se na to, kdaj lahko dva sistema različnih proizvajalcev delujeta skupaj. Prenosljivost določa, v kolikšni meri lahko aplikacija, izdelana za sistem A, deluje v sistemu B brez sprememb.
Prilagodljivost
Potrebno je, kadar naraščajo uporabniki, ki potrebujejo več sredstev. Dober primer je povečanje občinstva Netflixa vsak petek zvečer.
Pomeni dinamično dodajanje več virov, na primer povečanje omrežne zmogljivosti z omogočanjem več prenosa videov in zmanjšanje, ko se potrošnja normalizira.
Prijave
Erlang virtualni stroj

Programski paket LYME temelji na podjetju Erlang in ponuja alternativo LAMP. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang je funkcionalen jezik, ki ima veliko semantiko za sočasnost, porazdelitev in napak. Navidezni stroj Erlang obravnava distribucijo aplikacije Erlang.
Ta model deluje tako, da ima veliko izoliranih procesov, vse s sposobnostjo medsebojne komunikacije prek vgrajenega sistema za sporočanje.
Navidezni stroj Erlang se lahko poveže z drugimi virtualnimi stroji, ki so na različnih mestih. Ta roj navideznih strojev poganja eno samo aplikacijo in obravnava okvare enega stroja tako, da ga načrtuje, da deluje na drugem vozlišču.
Bittorrent

Delovanje omrežja BitTorrent. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Gre za enega najpogosteje uporabljenih protokolov za prenos velikih datotek po spletu. Glavna ideja je olajšati prenos datotek med različnimi vrstniki v omrežju, ne da bi morali iti skozi glavni strežnik.
Z uporabo odjemalca BitTorrent se lahko povežete z več računalniki po vsem svetu in naložite datoteko. Računalnik, ki deluje kot koordinator, pomaga prikazati vozlišča v omrežju, ki imajo želeno datoteko.
BitTorrent vam omogoča, da prostovoljno gostite datoteke in jih naložite drugim uporabnikom, ki jih želijo. Tako priljubljen je, ker je prvi takšne vrste ponudil spodbude za sodelovanje v omrežju.
Prednost
- V porazdeljeni sistem je mogoče enostavno dodati več vozlišč, torej ga je mogoče po potrebi spreminjati.
- Vsa vozlišča v porazdeljenem sistemu so povezana med seboj. Zato lahko vsako od vozlišč zlahka deli podatke z drugimi vozlišči.
- Viri, kot so tiskalniki, se lahko delijo z več vozlišči, namesto da bi bili omejeni na samo eno.
- Neuspeh enega vozlišča ne povzroči okvare celotnega porazdeljenega sistema. Ostala vozlišča lahko še vedno komunicirajo med seboj.
Slabosti
- Nekatera sporočila in podatki se lahko med prenosom iz enega vozlišča v drugo izgubijo v omrežju.
- V distribuiranih sistemih je težko zagotoviti ustrezno varnost, saj morajo biti tako vozlišča kot povezave zavarovani.
- Do preobremenitve omrežja lahko pride, če vsa vozlišča v porazdeljenem sistemu poskušajo hkrati pošiljati podatke.
- Baza podatkov, povezana s porazdeljenimi sistemi, je v primerjavi z enim uporabniškim sistemom precej zapletena in težko upravljana.
Primeri porazdeljenih sistemov
Razdeljene sisteme je mogoče uporabiti v večjem številu primerov, na primer sisteme elektronskega bančništva, množične večplastniške spletne igre in senzorska omrežja.
StackPath
Za napajanje svojih omrežnih storitev za pošiljanje vsebin uporablja posebej velik distribuiran sistem. Vsaka točka prisotnosti (PoP) ima vozlišča, ki tvorijo svetovno porazdeljen sistem.
StackPath shranjuje zadnjo in najpogosteje zahtevano vsebino na lokacijah, ki so najbližje mestu, ki se uporablja.
Z medsebojnim povezovanjem virtualnih računalnikov sistem poleg prednosti hitrosti in okretnosti najsodobnejšega računalništva lahko zelo hitro obravnava na tisoče hkratnih zahtev.
Internet
Je največji porazdeljeni sistem na svetu. Vsak uporabnik se počuti kot en sam sistem, čeprav ga sestavljajo milijoni računalnikov.
Skozi koncept abstrakcije nimate pojma, kje se podatki hranijo, koliko strežnikov je vključenih ali kako informacije pridejo do brskalnika. Brskalnik raztopi kompleksnost interneta.
To velja tudi za aplikacije, kot je Gmail e-pošta ali katero koli drugo aplikacijo, ki jo je mogoče uporabiti. Vsak človek vsakodnevno sodeluje z razdeljenimi aplikacijami.
Reference
- Paul Krzyzanowski (2018). Distribuirani sistemi. Vzeto iz: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Razdeljeni sistemi in računalništvo v oblaku. Nova skladba. Vzeto iz: thenewstack.io.
- International University of Valencia (2020). Razdeljeni sistemi, značilnosti in razvrstitev. Izvedeno iz: universidadviu.com.
- David Meador (2018). Distribuirani sistemi. Vadnice Točka. Vzeto iz: tutorialspoint.com.
- Robert Gibb (2019). Kaj je porazdeljeni sistem? Vzeto iz: blog.stackpath.com.
- Stanislav Kozlovski (2018). Temeljit uvod v distribuirane sisteme. Brezplačni kodni tabor. Vzeto iz: freecodecamp.org.
