- Distribucija podataka
- Karakteristike distribuiranih sustava
- Kompatibilnost
- Tolerancija kvarova
- Middleware i API
- Arhitektura
- Arhitektura klijent-poslužitelj
- Peer-to-peer arhitektura
- Arhitekture na više razina
- Arhitektura grupe procesora
- Vrste distribuiranih sustava
- Računarstvo u klasteru
- Mrežno računanje
- Računalni oblak
- ciljevi
- Podijelite resurse
- Apstrakcija
- Otvor
- Interoperabilnost i prenosivost
- skalabilnost
- Prijave
- Erlang virtualni stroj
- bittorrent
- Prednost
- Nedostaci
- Primjeri distribuiranih sustava
- StackPath
- Internet
- Reference
U distribuirani sustavi su komadi softvera koriste za koordiniranje djelovanja više računala. Ta se koordinacija postiže razmjenom poruka, tj. S dijelovima podataka koji prenose informacije.
Distribuirani sustavi zahtijevaju istodobne komponente, komunikacijsku mrežu i mehanizam sinkronizacije. Omogućuju dijeljenje resursa, uključujući softver, sa sustavima povezanim na mrežu. Stoga se sustav temelji na mreži koja povezuje računala i rukuje usmjeravanjem poruka.

a i b (distribuirani sustavi). b (paralelni sustav). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Distribuirano računanje područje je računalstva koje je odgovorno za analizu raspodijeljenih sustava. Računalni program koji radi na distribuiranom sustavu naziva se distribuiranim programom.
U kontekstu u kojem može postojati stotine ili tisuće računala, što je čest udio u velikim internetskim tvrtkama, vrlo je čest kvar kvarova, bilo da je riječ o hardveru, mreži, diskovima itd., A sustav mora biti spreman suočiti se s njima u svakom trenutku.
Distribucija podataka
Distribucija je ključna za rukovanje vrlo velikim konglomeratima podataka. Potrebno je postići skalabilnost, što je sredstvo za održavanje stabilnih performansi kada se baze podataka povećavaju dodavanjem novih resursa u sustav.
S druge strane, distribucija predstavlja niz tehničkih problema zbog kojih je dizajn i primjena raspodijeljenog računanja i pohrane važno uzeti u obzir. Jedna stvar koju treba uzeti u obzir je rizik od mogućih neuspjeha.
Karakteristike distribuiranih sustava

a i b (distribuirani sustavi). b (paralelni sustav). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Kompatibilnost
Uređaji mogu raditi s različitim operativnim sustavima. To ih ne sprečava da korisnicima uvijek nude iste usluge. Iz tog razloga svi spojeni uređaji kompatibilni su međusobno.
Drugi temeljni problem je dizajn softvera, jer je također kompatibilan sa svim sustavima i korisnicima koji se nalaze na svakom računalu.
Tolerancija kvarova
Budući da je jedinstvena mreža s mnogim računalima, ako bilo koja njezina komponenta zakaže, ostali mogu nastaviti u potpunosti obavljati svoju funkciju, brzo izbjegavajući pogreške.
Iz tog razloga, distribuirani sustavi pružaju puno povjerenja u radu s njima, jer je prilično rijetko da sustav ne uspije u potpunosti, jer se zadaci ne nalaze na jednom uređaju, već na različitim računalima.
Middleware i API
Različiti procesori koriste srednji softver za distribuciju, pomažući u dijeljenju različitih resursa i mogućnosti kako bi korisnicima pružili koherentnu i integriranu mrežu. Također nudi aplikacijama niz usluga, poput sigurnosti i oporavka od pada.
Danas čujete više o aplikacijskim programskim sučeljima (API-i) koji funkcioniraju kao gateway gdje aplikacije mogu komunicirati. Aplikacije ne trebaju znati ništa o drugim aplikacijama osim njihovog API-ja.
Arhitektura
Arhitektura klijent-poslužitelj
Pojedino računalo zvano poslužitelj može obavljati određene zadatke koji se nazivaju uslugama. Na primjer, posluživanje datoteka putem mreže, mogućnost izvršavanja određenih naredbi ili usmjeravanje podataka na pisač. Klijent je računalo koje traži usluge.
Računalo poznato prije svega zbog usluge koju pruža može se zvati poslužitelj ispisa, poslužitelj datoteka i tako dalje.
Peer-to-peer arhitektura
Pretpostavlja se da svako računalo ima slične mogućnosti i da nijedan stroj nije posvećen služenju drugima. Primjer za to je skup mikroračunala u malom uredu.
Mreža omogućuje ljudima pristup međusobnim datotekama i slanje e-poruka, ali nijedno računalo ne pruža određeni skup usluga.
Arhitekture na više razina
Za neke će usluge možda imati smisla imati hijerarhijsku povezanost. Na primjer:
- Poslužitelj prilikom izvršavanja svojih zadataka može kontaktirati drugi poslužitelj drugačije vrste
- Arhitektura klijent-poslužitelj je dvoslojna arhitektura.
Arhitektura grupe procesora
Operativni sustav mogao bi automatski pokrenuti procese na praznim računalima, pa čak i migrirati procese u sustave s većim brojem dostupnih CPU ciklusa. U drugim slučajevima, korisnik može ručno pokrenuti ili premjestiti procese na raspoloživim sustavima.
Vrste distribuiranih sustava
Računarstvo u klasteru
To je zbirka sličnih računala spojenih putem velike brzinske lokalne mreže. Često se koristi za paralelno programiranje, gdje jedan program koji intenzivno računa, paralelno radi na više računala.
Svaki klaster sastoji se od skupa izračunatih čvorova koji nadgledaju i upravljaju jedan ili više čvorova nazvanih master.
Mrežno računanje
Sastoji se od čvorova s izraženim razlikama u hardverskoj i mrežnoj tehnologiji. Sadašnji trend da imamo određenu konfiguraciju čvorova za određene zadatke doveo je do veće raznolikosti, koja je najčešća u mrežnom računanju.
Računalni oblak
To je skup virtualiziranih resursa smještenih u podatkovnom centru davatelja usluga oblaka. Kupci mogu uspostaviti virtualiziranu infrastrukturu kako bi iskoristili razne usluge u oblaku.
Korisniku se čini da iznajmljuje svoje ekskluzivno računalo. Međutim, vrlo je vjerojatno da ga dijelite s drugim kupcima. Isto vrijedi i za virtualnu pohranu.
Ovi virtualizirani resursi mogu se dinamički konfigurirati, omogućujući tako skalabilnost. Ako je potrebno više računalnih resursa, sustav može kupiti više.
ciljevi
Podijelite resurse
Bilo da su to uređaji za pohranu, datoteke s podacima, usluge ili mreže, možda želite podijeliti te resurse između aplikacija, radi ekonomičnosti.
Mnogo je jeftinije imati zajednički prostor za pohranu između više aplikacija nego kupiti i održavati prostor za pohranu za svaki zasebno.
Apstrakcija
Da se sakrije činjenica da su procesi i resursi distribuirani na nekoliko računala, po mogućnosti geografski raspodijeljeni. Odnosno, procesi i resursi su apstrahirani od korisnika.
Otvor
U osnovi pokazuje da je distribuirani sustav izgrađen s elementima koji se mogu lako integrirati s drugim sustavima. U skladu sa standardiziranim pravilima, bilo koji proces s tim sučeljem može komunicirati s drugim procesom s istim sučeljem.
Interoperabilnost i prenosivost
Odnosi se na to kada dva sustava različitih proizvođača mogu raditi zajedno. Prenosivost određuje u kojoj mjeri aplikacija napravljena za sustav A može funkcionirati na sustavu B bez izmjene.
skalabilnost
Potrebno je kada postoji porast korisnika kojima je potrebno više resursa. Dobar primjer je povećanje publike Netflixa svakog petka navečer.
To znači dinamično dodavanje više resursa, poput povećanja mrežnog kapaciteta omogućavajući više prijenosa videa i smanjujući ga nakon što se potrošnja normalizira.
Prijave
Erlang virtualni stroj

Softverski paket LYME zasnovan je na Erlangu i nudi alternativu LAMP-u. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang je funkcionalan jezik koji ima sjajnu semantiku za istodobnost, distribuciju i toleranciju grešaka. Erlangov virtualni stroj upravlja distribucijom Erlang aplikacije.
Ovaj model funkcionira tako što ima mnogo izoliranih procesa, a sve s mogućnošću međusobne komunikacije putem ugrađenog sustava za razmjenu poruka.
Erlangov virtualni stroj može se povezati s drugim virtualnim strojevima koji se nalaze na različitim mjestima. Ovaj roj virtualnih strojeva pokreće jednu aplikaciju, rješavajući greške na jednom stroju raspoređujući ga da radi na drugom čvoru.
bittorrent

Operacija BitTorrent mreže. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
To je jedan od najčešće korištenih protokola za prijenos velikih datoteka na webu. Glavna ideja je olakšati prijenos datoteka između različitih vršnjaka na mreži bez prolaska kroz glavni poslužitelj.
Pomoću BitTorrent klijenta možete se povezati s više računala širom svijeta kako biste preuzeli datoteku. Računalo koje djeluje kao koordinator pomaže prikazivanju čvorova u mreži koji imaju željenu datoteku.
BitTorrent vam omogućuje da dobrovoljno hostujete datoteke i prenosite ih drugim korisnicima koji ih žele. Toliko je popularan jer je bio prvi takve vrste koji je ponudio poticaje za doprinos mreži.
Prednost
- U distribuirani sustav lako se može dodati više čvorova, odnosno može se skalirati po potrebi.
- Svi čvorovi u distribuiranom sustavu povezani su međusobno. Stoga svaki od čvorova može lako dijeliti podatke s ostalim čvorovima.
- Resursi poput pisača mogu se dijeliti s više čvorova umjesto da budu ograničeni na samo jedan.
- Neuspjeh jednog čvora ne dovodi do kvara cijelog distribuiranog sustava. Ostali čvorovi i dalje mogu međusobno komunicirati.
Nedostaci
- Neke poruke i podaci mogu se izgubiti na mreži prilikom prelaska s jednog čvora na drugi.
- Teško je osigurati odgovarajuću sigurnost u distribuiranim sustavima jer moraju biti osigurani i čvorovi i veze.
- Do preopterećenja mreže može doći ako svi čvorovi u distribuiranom sustavu pokušaju istovremeno poslati podatke.
- Baza podataka povezana s distribuiranim sustavima je prilično složena i teška za upravljanje u usporedbi s jednim korisničkim sustavom.
Primjeri distribuiranih sustava
Distribuirani sustavi mogu se koristiti u velikom broju slučajeva, poput sustava elektroničkog bankarstva, masovno multiplayer online igara i senzorskih mreža.
StackPath
Za napajanje svojih usluga isporuke sadržaja koristi posebno veliki distribuirani sustav. Svaka njegova točka prisutnosti (PoP) ima čvorove koji tvore svjetski distribuirani sustav.
StackPath pohranjuje najnoviji i najčešće traženi sadržaj na lokacijama najbližim mjestu koje se koristi.
Međusobnim povezivanjem virtualnih računala, osim što iskorištava brzinu i okretnost vrhunskog računalstva, sustav može vrlo brzo obraditi tisuće istodobnih zahtjeva.
Internet
To je najveći distribuirani sustav na svijetu. Svaki korisnik osjeća se kao jedinstveni sustav, iako ga čine milijuni računala.
Kroz koncept apstrakcije nemate pojma gdje se podaci pohranjuju, koliko poslužitelja je uključeno ili kako informacije dolaze do preglednika. Preglednik otapa složenost interneta.
To se također odnosi na aplikacije kao što je Gmail e-pošta ili bilo koju drugu aplikaciju koja se može koristiti. Svaka osoba svakodnevno komunicira s distribuiranim aplikacijama.
Reference
- Paul Krzyzanowski (2018). Distribuirani sustavi. Preuzeto sa: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Distribuirani sustavi i računalno nativno računanje. Nova hrpa. Preuzeto iz: thenewstack.io.
- Međunarodno sveučilište u Valenciji (2020). Distribuirani sustavi, karakteristike i klasifikacija. Preuzeto sa: universidadviu.com.
- David Meador (2018). Distribuirani sustavi. Vodič bod. Preuzeto sa: tutorialspoint.com.
- Robert Gibb (2019). Što je distribuirani sustav? Preuzeto sa: blog.stackpath.com.
- Stanislav Kozlovski (2018). Temeljiti uvod u distribuirane sustave. Besplatni Code Camp. Preuzeto sa: freecodecamp.org.
