- Tietojen jakelu
- Hajautettujen järjestelmien ominaisuudet
- yhteensopivuus
- Vikasietoisuus
- Väliohjelmisto ja sovellusliittymä
- Arkkitehtuuri
- Asiakas-palvelin-arkkitehtuuri
- Vertaisarkkitehtuuri
- Monitasoiset arkkitehtuurit
- Suorittimen ryhmäarkkitehtuuri
- Hajautettujen järjestelmien tyypit
- Ryhmälaskenta
- Verkkolaskenta
- Pilvilaskenta
- tavoitteet
- Jaa resursseja
- Abstraktio
- aukko
- Yhteentoimivuus ja siirrettävyys
- skaalautuvuus
- Sovellukset
- Erlangin virtuaalikone
- bittorrent
- Etu
- haitat
- Esimerkkejä hajautetuista järjestelmistä
- StackPath
- Internet
- Viitteet
Hajautettujen järjestelmien ovat pieniä ohjelmia käytetään koordinoimaan toimia useita tietokoneita. Tämä koordinointi saadaan aikaan vaihtamalla viestejä, toisin sanoen dataa, joka välittää tietoja.
Hajautetut järjestelmät vaativat samanaikaisia komponentteja, viestintäverkon ja synkronointimekanismin. Ne mahdollistavat resurssien, myös ohjelmistojen, jakamisen verkkoon kytketyillä järjestelmillä. Siksi järjestelmä perustuu verkkoon, joka yhdistää tietokoneet ja käsittelee viestien reititystä.

a ja b (hajautetut järjestelmät). b (rinnakkaisjärjestelmä). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Hajautettu laskenta on laskenta-alue, joka vastaa hajautettujen järjestelmien analysoinnista. Hajautetussa järjestelmässä toimivia tietokoneohjelmia kutsutaan hajautettuiksi ohjelmiksi.
Tilanteessa, jossa tietokoneita voi olla satoja tai tuhansia, mikä on yleinen osuus suurissa Internet-yrityksissä, on hyvin yleistä, että on komponenttien vikoja, olivatpa ne sitten laitteistoa, verkkoa, levyjä jne., Ja järjestelmän on oltava valmis kohtaamaan heidät koko ajan.
Tietojen jakelu
Jakelu on avain erittäin suurten tietokonglomeraattien käsittelemiseen. On tarpeen saavuttaa skaalautuvuus, joka on keino ylläpitää vakaata suorituskykyä, kun tietovarannot kasvavat lisäämällä järjestelmään uusia resursseja.
Toisaalta jakelu esittää sarjan teknisiä ongelmia, jotka tekevät hajautetun laskennan ja tallennuksen suunnittelusta ja toteutuksesta tärkeän huomioida. Yksi huomioitava kohta on mahdollisten epäonnistumisten riski.
Hajautettujen järjestelmien ominaisuudet

a ja b (hajautetut järjestelmät). b (rinnakkaisjärjestelmä). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
yhteensopivuus
Laitteet voivat toimia eri käyttöjärjestelmien kanssa. Tämä ei estä heitä tarjoamasta aina samoja palveluita käyttäjille. Tästä syystä kaikki kytketyt laitteet ovat yhteensopivia keskenään.
Toinen peruskysymys on ohjelmiston suunnittelu, koska se on myös yhteensopiva kaikkien järjestelmien ja käyttäjien kanssa, jotka ovat jokaisella tietokoneella.
Vikasietoisuus
Ollessaan yksi verkko monien tietokoneiden kanssa, jos jokin sen komponenteista vikaantuu, muut voivat jatkaa toimintaansa täysin, välttäen virheitä nopeasti.
Tästä syystä hajautetut järjestelmät tarjoavat yleensä paljon luottamusta heidän kanssaan työskennellessä, koska on melko harvinaista, että järjestelmä epäonnistuu kokonaan, koska tehtävät eivät sijaitse yhdessä laitteessa, vaan eri tietokoneissa.
Väliohjelmisto ja sovellusliittymä
Eri prosessorit käyttävät jakeluvälijärjestelmää, mikä auttaa jakamaan erilaisia resursseja ja ominaisuuksia tarjotakseen käyttäjille yhtenäisen ja integroidun verkon. Se tarjoaa sovelluksille myös useita palveluita, kuten tietoturva ja kaatumisen palautus.
Tänään kuulet lisää sovellusohjelmointirajapinnoista (API), jotka toimivat yhdyskäytävänä, jolla sovellukset voivat kommunikoida. Sovellusten ei tarvitse tietää mitään muista sovelluksista, paitsi niiden sovellusliittymä.
Arkkitehtuuri
Asiakas-palvelin-arkkitehtuuri
Tietty tietokone, jota kutsutaan palvelimeksi, voi suorittaa tiettyjä tehtäviä, joita kutsutaan palveluiksi. Esimerkiksi tiedostojen tarjoaminen verkossa, kyky suorittaa tiettyjä komentoja tai reitittää tietoja tulostimeen. Asiakas on palveluita pyytävä tietokone.
Tietokonetta, joka tunnetaan ensisijaisesti tarjoamastaan palvelusta, voidaan kutsua tulostuspalvelimeksi, tiedostopalvelimeksi ja niin edelleen.
Vertaisarkkitehtuuri
Siinä oletetaan, että jokaisella tietokoneella on samanlaiset ominaisuudet ja ettei yksikään kone ole omistettu muiden palvelemiseen. Esimerkki tästä on joukko mikrotietokoneita pienessä toimistossa.
Verkko antaa ihmisille pääsyn toistensa tiedostoihin ja lähettää sähköpostia, mutta yksikään tietokone ei tarjoa tiettyä palvelujoukkoa.
Monitasoiset arkkitehtuurit
Tietyille palveluille voi olla järkevää olla hierarkkinen yhteys. Esimerkiksi:
- Palvelin voi tehtäviään suorittaessaan ottaa yhteyttä toisen tyyppiseen palvelimeen
- Asiakas-palvelin-arkkitehtuuri on kaksitasoinen arkkitehtuuri.
Suorittimen ryhmäarkkitehtuuri
Käyttöjärjestelmä voi automaattisesti käynnistää prosessit lepotilassa olevissa tietokoneissa ja jopa siirtää prosessit järjestelmiin, joissa on enemmän käytettävissä olevia suorittimen jaksoja. Muissa tapauksissa käyttäjä voi käynnistää tai siirtää prosesseja manuaalisesti käytettävissä olevissa järjestelmissä.
Hajautettujen järjestelmien tyypit
Ryhmälaskenta
Se on kokoelma samanlaisia tietokoneita, jotka on kytketty nopeaan lähiverkkoon. Sitä käytetään usein rinnakkaisohjelmointiin, jossa yksi laskentaintensiivinen ohjelma toimii samanaikaisesti useilla tietokoneilla.
Jokainen klusteri koostuu joukosta laskusolmuja, joita yksi tai useampi mastereiksi kutsuttu solmu valvoo ja hallinnoi.
Verkkolaskenta
Se koostuu solmuista, joissa on huomattavia eroja laitteisto- ja verkkotekniikassa. Nykyinen suuntaus määrittää tietty solmujen konfiguraatio tietyille tehtäville on johtanut suurempaan monimuotoisuuteen, mikä on yleisin verkon laskennassa.
Pilvilaskenta
Se on joukko virtualisoituja resursseja, jotka on sijoitettu pilvipalveluntarjoajan tietokeskukseen. Asiakkaat voivat perustaa virtualisoidun infrastruktuurin hyödyntääkseen erilaisia pilvipalveluja.
Käyttäjälle näyttää siltä, että hän vuokraa oman yksinomaisen tietokoneensa. On kuitenkin todennäköistä, että jaat sen muiden asiakkaiden kanssa. Sama pätee virtuaaliseen tallennukseen.
Nämä virtualisoidut resurssit voidaan konfiguroida dynaamisesti, mikä mahdollistaa skaalautuvuuden. Jos tarvitaan enemmän laskentaresursseja, järjestelmä voi ostaa enemmän.
tavoitteet
Jaa resursseja
Olipa kyseessä tallennustilat, datatiedostot, palvelut tai verkot, kannattaa ehkä jakaa nämä resurssit sovellusten välillä talouden vuoksi.
On huomattavasti halvempaa olla jaettu tallennustila useiden sovellusten välillä kuin joutua ostamaan ja ylläpitämään tallennustilaa jokaiselle erikseen.
Abstraktio
Piilottaakseni, että prosessit ja resurssit ovat jakautuneet useisiin tietokoneisiin, mahdollisesti maantieteellisesti hajautettuina. Toisin sanoen prosessit ja resurssit on abstrakti käyttäjältä.
aukko
Periaatteessa se osoittaa, että hajautettu järjestelmä on rakennettu elementeillä, jotka voidaan helposti integroida muihin järjestelmiin. Standardoitujen sääntöjen mukaisesti mikä tahansa kyseisen käyttöliittymän prosessi voi kommunikoida toisen prosessin kanssa, jolla on sama käyttöliittymä.
Yhteentoimivuus ja siirrettävyys
Se viittaa siihen, milloin kaksi järjestelmää eri valmistajilta voivat toimia yhdessä. Siirrettävyys määrittää, missä määrin järjestelmää A varten tehty hakemus voi toimia järjestelmässä B ilman muutoksia.
skaalautuvuus
Se on tarpeen, kun käyttäjiä, jotka tarvitsevat enemmän resursseja, on lisääntynyt. Hyvä esimerkki on Netflix-yleisön lisääntyminen joka perjantai-ilta.
Se tarkoittaa lisäämällä resursseja dynaamisesti, kuten lisäämällä verkon kapasiteettia sallimalla enemmän videolähetyksiä ja vähentämällä sitä, kun kulutus on normalisoitunut.
Sovellukset
Erlangin virtuaalikone

LYME-ohjelmistopaketti perustuu Erlangiin ja tarjoaa vaihtoehdon LAMP: lle. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang on toimiva kieli, jolla on hieno semantiikka samanaikaisuuden, jakauman ja vikasietoisuuden suhteen. Erlang-virtuaalikone käsittelee Erlang-sovelluksen jakelua.
Tämä malli toimii sillä, että sillä on monia erillisiä prosesseja, joilla kaikilla on kyky kommunikoida keskenään sisäänrakennetun viestijärjestelmän kautta.
Erlangin virtuaalikone voi muodostaa yhteyden muihin virtuaalikoneisiin, jotka ovat eri paikoissa. Tämä virtuaalikoneiden parvi suorittaa yhden sovelluksen ja käsittelee yhden koneen vikoja ajoittamalla sen toimimaan toisessa solmussa.
bittorrent

BitTorrent-verkon toiminta. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Se on yksi yleisimmin käytetyistä protokollista suurten tiedostojen siirtämiseen verkossa. Pääideana on helpottaa tiedostojen siirtoa verkon eri vertaisverkkojen välillä tarvitsematta käydä pääpalvelimen läpi.
Käyttämällä BitTorrent-asiakasohjelmaa voit muodostaa yhteyden useisiin tietokoneisiin ympäri maailmaa ladataksesi tiedoston. Koordinaattorina toimiva tietokone auttaa näyttämään verkon solmut, joilla on haluttu tiedosto.
BitTorrent antaa sinun isännöidä tiedostoja vapaaehtoisesti ja ladata niitä muille käyttäjille, jotka haluavat niitä. Se on niin suosittu, koska se oli ensimmäinen laatuaan tarjota kannustimia verkostoon osallistumiseen.
Etu
- Hajautettuun järjestelmään voidaan helposti lisätä lisää solmuja, ts. Se voidaan skaalata tarpeen mukaan.
- Kaikki hajautetun järjestelmän solmut on kytketty toisiinsa. Siksi kukin solmu voi helposti jakaa tietoa muiden solmujen kanssa.
- Resurssit, kuten tulostimet, voidaan jakaa useiden solmujen kanssa sen sijaan, että ne rajoitettaisiin vain yhteen.
- Yhden solmun vika ei johda koko hajautettuun järjestelmään. Muut solmut voivat silti kommunikoida keskenään.
haitat
- Jotkut viestit ja tiedot voivat kadota verkosta siirryttäessä solmusta toiseen.
- Hajautettuissa järjestelmissä on vaikeaa tarjota riittävää turvallisuutta, koska sekä solmut että yhteydet on turvattava.
- Verkon ylikuormitus voi tapahtua, jos kaikki hajautetun järjestelmän solmut yrittävät lähettää tietoja samanaikaisesti.
- Hajautettuihin järjestelmiin kytketty tietokanta on melko monimutkainen ja hankala verrattuna yhden käyttäjän järjestelmiin.
Esimerkkejä hajautetuista järjestelmistä
Hajautettuja järjestelmiä voidaan käyttää monissa tapauksissa, kuten sähköisissä pankkijärjestelmissä, massiivisesti moninpelien online-peleissä ja anturiverkoissa.
StackPath
Se käyttää erityisen suurta hajautettua järjestelmää sisällönjakeluverkkopalvelunsa virran tuottamiseen. Jokaisella sen läsnäolopisteellä (PoP) on solmuja, jotka muodostavat maailmanlaajuisesti hajautetun järjestelmän.
StackPath tallentaa viimeisimmän ja usein pyydetyn sisällön sijainteihin, jotka ovat lähinnä käyttämääsi sivustoa.
Yhdistämällä virtuaaliset tietokoneet hyödyntääkseen nykyaikaisen laskennan nopeutta ja ketteryyttä järjestelmä pystyy käsittelemään tuhansia samanaikaisia pyyntöjä erittäin nopeasti.
Internet
Se on suurin hajautettu järjestelmä maailmassa. Kuka tahansa käyttäjä tuntuu yhdeltä järjestelmältä, vaikka se koostuu miljoonista tietokoneista.
Abstraktiokonseptin kautta sinulla ei ole aavistustakaan, mihin tiedot on tallennettu, kuinka monta palvelinta on mukana tai kuinka tiedot pääsevät selaimeen. Selain hajottaa Internetin monimutkaisuuden.
Tämä koskee myös sovelluksia, kuten Gmail-sähköpostia tai muita sovelluksia, joita voidaan käyttää. Jokainen henkilö on vuorovaikutuksessa hajautettujen sovellusten kanssa päivittäin.
Viitteet
- Paul Krzyzanowski (2018). Hajautetut järjestelmät. Ostettu: cs.rutgers.edu.
- Catherine Paganini (2019). Pohjustus: hajautetut järjestelmät ja pilvipäiväinen laskenta. Uusi pino. Kuvannut: thenewstack.io.
- Valencian kansainvälinen yliopisto (2020). Hajautetut järjestelmät, ominaisuudet ja luokittelu. Kuvannut: universidadviu.com.
- David Meador (2018). Hajautetut järjestelmät. Oppaat kohta. Otettu: tutorialspoint.com.
- Robert Gibb (2019). Mikä on hajautettu järjestelmä? Otettu: blog.stackpath.com.
- Stanislav Kozlovski (2018). Perusteellinen johdanto hajautettuihin järjestelmiin. Ilmainen koodileiri. Ostettu: freecodecamp.org.
