Sistemet e shpërndara: përkufizimi, veçoritë dhe parimet bazë

Përmbajtje:

Sistemet e shpërndara: përkufizimi, veçoritë dhe parimet bazë
Sistemet e shpërndara: përkufizimi, veçoritë dhe parimet bazë
Anonim

Një sistem i shpërndarë në përkufizimin e tij më të thjeshtë është një grup kompjuterësh që punojnë së bashku që shfaqen si një për përdoruesit përfundimtar. Makineritë ndajnë një gjendje të përbashkët, funksionojnë njëkohësisht dhe mund të funksionojnë në mënyrë të pavarur pa ndikuar në kohën e funksionimit të të gjithë sistemit. E vërteta është se menaxhimi i sistemeve të tilla është një temë komplekse e mbushur me gracka.

Përmbledhje e sistemit

Sistemet e Shpërndara
Sistemet e Shpërndara

Sistemi i shpërndarë lejon ndarjen e burimeve (përfshirë softuerin) të lidhur me rrjetin në të njëjtën kohë.

Shembuj të shpërndarjes së sistemit:

  1. Trafte tradicionale. Këto baza të të dhënave ruhen në sistemin e skedarëve të një makinerie. Sa herë që përdoruesi dëshiron të marrë informacion, ai komunikon drejtpërdrejt me këtë makinë. Për të shpërndarë këtë sistem të bazës së të dhënave, duhet ta ekzekutoni në shumë kompjuterë në të njëjtën kohë.
  2. Arkitektura e shpërndarë.

Sistemi i shpërndarëju lejon të shkallëzoni horizontalisht dhe vertikalisht. Për shembull, mënyra e vetme për të trajtuar më shumë trafik do të ishte përmirësimi i harduerit që drejton bazën e të dhënave. Kjo quhet shkallëzim vertikal. Shkallëzimi vertikal është i mirë deri në një kufi të caktuar, pas së cilës edhe pajisjet më të mira nuk mund të përballojnë sigurimin e trafikut të kërkuar.

Shkallëzimi horizontal nënkupton shtimin e më shumë kompjuterëve, jo përmirësimin e harduerit në një. Shkallëzimi vertikal rrit performancën në aftësitë më të fundit të harduerit në sistemet e shpërndara. Këto mundësi nuk janë të mjaftueshme për kompanitë e teknologjisë me ngarkesë mesatare deri në të rëndë. Gjëja më e mirë në lidhje me shkallëzimin horizontal është se nuk ka kufizime të madhësisë. Kur performanca degradohet, thjesht shtohet një makinë tjetër, e cila, në parim, mund të bëhet pafundësisht.

Në nivelin e korporatës, një sistem kontrolli i shpërndarë shpesh përfshin hapa të ndryshëm. Në proceset e biznesit në vendet më efikase të rrjetit kompjuterik të ndërmarrjes. Për shembull, në një shpërndarje tipike duke përdorur një model të sistemit të shpërndarë me tre nivele, përpunimi i të dhënave bëhet në një PC në vendndodhjen e përdoruesit, përpunimi i biznesit bëhet në një kompjuter të largët dhe qasja në bazën e të dhënave dhe përpunimi i të dhënave bëhet në një kompjuter krejtësisht të ndryshëm. që ofron akses të centralizuar për shumë biznese.procese. Në mënyrë tipike, ky lloj i llogaritjes së shpërndarëpërdor modelin e ndërveprimit klient-server.

Detyrat kryesore

Detyrat kryesore
Detyrat kryesore

Detyrat kryesore të një sistemi kontrolli të shpërndarë përfshijnë:

  1. Transparenca - Arri një imazh të vetëm të sistemit pa fshehur vendndodhjen, aksesin, migrimin, bashkërendimin, dështimin, zhvendosjen, këmbënguljen dhe detajet e burimeve për përdoruesit.
  2. Openness - thjeshton konfigurimin dhe ndryshimet e rrjetit.
  3. Besueshmëria - Krahasuar me një sistem të vetëm kontrolli, ai duhet të jetë i besueshëm, konsistent dhe të ketë një probabilitet të lartë të maskimit të gabimeve.
  4. Performanca - Krahasuar me modelet e tjera, modelet e shpërndara ofrojnë një rritje të performancës.
  5. Scalable - Këto sisteme kontrolli të shpërndara duhet të jenë të shkallëzueshme për sa i përket territorit, administrimit ose madhësisë.

Detyrat e sistemeve të shpërndarjes përfshijnë:

  1. Siguria është një çështje e madhe në një mjedis të shpërndarë, veçanërisht kur përdorni rrjete publike.
  2. Toleranca ndaj gabimeve - mund të jetë e vështirë kur modeli është ndërtuar me komponentë jo të besueshëm.
  3. Koordinimi dhe shpërndarja e burimeve - mund të jetë e vështirë nëse nuk ka protokolle ose politika të duhura.

Mjedisi informatik i shpërndarë

Mjedisi informatik i shpërndarë
Mjedisi informatik i shpërndarë

(DCE) është një standard i industrisë i përdorur gjerësisht që mbështet llogaritje të tilla të shpërndara. Në internet, ofruesit e palëve të treta ofrojnë disa shërbime të përgjithshme,që përshtaten në këtë model.

Llogaritja e rrjetit është një model kompjuterik me një arkitekturë të shpërndarë të një numri të madh kompjuterësh të lidhur me zgjidhjen e një problemi kompleks. Në modelin e llogaritjes së rrjetit, serverët ose kompjuterët personalë kryejnë detyra të pavarura dhe janë të lidhur lirshëm me njëri-tjetrin nëpërmjet internetit ose rrjeteve me shpejtësi të ulët.

Projekti më i madh i llogaritjes së rrjetit është SETI@home, në të cilin pronarët individualë të kompjuterëve vullnetarë të kryejnë disa nga ciklet e tyre të përpunimit me shumë detyra duke përdorur kompjuterin e tyre për projektin "Kërkimi për inteligjencën jashtëtokësore" (SETI). Ky problem kompjuterik përdor mijëra kompjuterë për të shkarkuar dhe kërkuar të dhëna radioteleskopi.

Një nga përdorimet e para të llogaritjes së rrjetit ishte thyerja e kodit kriptografik nga një grup i njohur tani si distributed.net. Ky grup gjithashtu përshkruan modelin e tyre si llogaritje të shpërndara.

Shkallëzimi i bazës së të dhënave

Shkallëzimi i bazës së të dhënave
Shkallëzimi i bazës së të dhënave

Përhapja e informacionit të ri nga master te skllav nuk ndodh menjëherë. Në fakt, ekziston një dritare kohore në të cilën mund të merrni informacione të vjetruara. Nëse nuk do të ishte kështu, performanca e shkrimit do të vuante, pasi sistemet e shpërndara do të duhet të prisnin në mënyrë sinkrone që të dhënat të përhapen. Ata vijnë me disa kompromise.

Duke përdorur një qasje të bazës së të dhënave skllav, është e mundur të zvogëlohet në një farë mase trafiku i lexuar. Këtu ka shumë opsione. Por ju vetëm duhet të ndani trafikun e shkrimit në disaserverët sepse nuk mund ta trajtojë atë. Një mënyrë është përdorimi i një strategjie të përsëritjes me shumë master. Atje, në vend të skllevërve, ka disa nyje kryesore që mbështesin leximin dhe shkrimin.

Një metodë tjetër quhet sharding. Me të, serveri ndahet në disa serverë më të vegjël, të quajtur shards. Këto copëza kanë hyrje të ndryshme, krijohen rregulla se cilat hyrje hyjnë në cilën copëza. Është shumë e rëndësishme të krijohet një rregull i tillë që të dhënat të shpërndahen në mënyrë të barabartë. Një qasje e mundshme për këtë është përcaktimi i intervaleve sipas disa informacioneve të regjistrimit.

Ky çelës copëz duhet të zgjidhet me shumë kujdes, pasi ngarkesa nuk është gjithmonë e barabartë me bazat e kolonave arbitrare. E vetmja copëz që merr më shumë kërkesa se të tjerët quhet hotspot dhe ata përpiqen ta parandalojnë formimin e saj. Pasi të ndahen, të dhënat e rikalibrimit bëhen tepër të shtrenjta dhe mund të rezultojnë në ndërprerje të konsiderueshme.

Algoritmet e konsensusit të bazës së të dhënave

Algoritmet e konsensusit të bazës së të dhënave
Algoritmet e konsensusit të bazës së të dhënave

DB-të janë të vështira për t'u zbatuar në sistemet e shpërndara të sigurisë sepse ato kërkojnë që çdo nyje të negociojë veprimin e saktë të ndërprerjes ose kryerjes. Kjo cilësi njihet si konsensus dhe është një problem themelor në ndërtimin e një sistemi shpërndarjeje. Arritja e llojit të marrëveshjes së nevojshme për problemin e "përkushtimit" është e thjeshtë nëse proceset e përfshira dhe rrjeti janë plotësisht të besueshëm. Megjithatë, sistemet reale i nënshtrohen një numri tëdështime të mundshme të proceseve të rrjetit, mesazhe të humbura, të korruptuara ose të dyfishuara.

Kjo paraqet një problem dhe nuk është e mundur të garantohet se konsensusi i saktë do të arrihet brenda një periudhe të kufizuar kohore në një rrjet jo të besueshëm. Në praktikë, ka algoritme që arrijnë konsensus mjaft shpejt në një rrjet jo të besueshëm. Cassandra në fakt ofron transaksione të lehta përmes përdorimit të algoritmit Paxos për konsensus të shpërndarë.

Llogaritja e shpërndarë është çelësi i fluksit të përpunimit të të dhënave të mëdha që është përdorur vitet e fundit. Është një metodë për të zbërthyer një detyrë të madhe, si p.sh. 100 miliardë rekorde kumulative, nga të cilat asnjë kompjuter i vetëm nuk është i aftë të bëjë praktikisht asgjë më vete, në shumë detyra më të vogla që mund të futen në një makinë të vetme. Zhvilluesi e ndan detyrën e tij të madhe në shumë më të vogla, i ekzekuton ato në shumë makina paralelisht, mbledh të dhënat në mënyrë të përshtatshme, atëherë problemi origjinal do të zgjidhet.

Kjo qasje ju lejon të shkallëzoni horizontalisht - kur ka një detyrë të madhe, thjesht shtoni më shumë nyje në llogaritje. Këto detyra janë kryer për shumë vite nga modeli i programimit MapReduce i lidhur me zbatimin për përpunimin paralel dhe gjenerimin e grupeve të të dhënave të mëdha duke përdorur një algoritëm të shpërndarë në një grup.

Aktualisht, MapReduce është disi e vjetëruar dhe sjell disa probleme. Janë shfaqur arkitektura të tjera që trajtojnë këto çështje. Gjegjësisht, Lambda Architecture për të shpërndarësistemet e përpunimit të rrjedhës. Përparimet në këtë fushë kanë sjellë mjete të reja: Kafka Streams, Apache Spark, Apache Storm, Apache Samza.

Sistemet e ruajtjes dhe riprodhimit të skedarëve

Sistemet e ruajtjes dhe riprodhimit të skedarëve
Sistemet e ruajtjes dhe riprodhimit të skedarëve

Sistemet e skedarëve të shpërndarë mund të mendohen si depo të dhënash të shpërndara. Ky është i njëjtë me konceptin - ruajtja dhe aksesimi i një sasie të madhe të dhënash në një grup makinerish që janë një entitet i vetëm. Ato zakonisht shkojnë paralelisht me llogaritjen e shpërndarë.

Për shembull, Yahoo ka qenë i njohur për ekzekutimin e HDFS në mbi 42,000 nyje për të ruajtur 600 petabajt të dhëna që nga viti 2011. Wikipedia përcakton ndryshimin në atë që sistemet e skedarëve të shpërndarë lejojnë aksesin e skedarëve duke përdorur të njëjtat ndërfaqe dhe semantikë si skedarët lokalë, në vend që të përdorin një API të personalizuar siç është Gjuha e pyetjeve Cassandra (CQL).

Hadoop Distributed File System (HDFS) është një sistem që përdoret për llogaritjen mbi infrastrukturën Hadoop. I përhapur gjerësisht, përdoret për të ruajtur dhe riprodhuar skedarë të mëdhenj (madhësia GB ose TB) në shumë makina. Arkitektura e saj përbëhet kryesisht nga NameNodes dhe DataNodes.

NameNodes është përgjegjëse për ruajtjen e meta të dhënave rreth grupit, si p.sh. cila nyje përmban blloqe skedarësh. Ata veprojnë si koordinatorë të rrjetit, duke kuptuar se ku të ruhen dhe kopjojnë skedarët më mirë, duke mbajtur gjurmët e shëndetit të sistemit. DataNodes thjesht ruajnë skedarë dhe kryejnë komanda të tilla si riprodhimi i skedarëve, shkrimi i ri dhetë tjerët.

Nuk është për t'u habitur, HDFS përdoret më së miri me Hadoop për llogaritje, pasi siguron ndërgjegjësimin e informacionit të detyrës. Punët e specifikuara më pas ekzekutohen në nyjet që ruajnë të dhënat. Kjo ju lejon të përdorni vendndodhjen e të dhënave - optimizon llogaritjet dhe zvogëlon sasinë e trafikut në rrjet.

Sistemi i skedarëve ndërplanetar (IPFS) është një protokoll/rrjet i ri emocionues peer-to-peer për sistemin e skedarëve të shpërndarë. Duke përdorur teknologjinë Blockchain, ai krenohet me një arkitekturë plotësisht të decentralizuar pa asnjë pronar të vetëm apo pikë dështimi.

IPFS ofron një sistem emërtimi (i ngjashëm me DNS) të quajtur IPNS dhe i lejon përdoruesit të marrin me lehtësi informacionin. Ai e ruan skedarin përmes versionimit historik, ashtu si bën Git. Kjo lejon aksesin në të gjitha gjendjet e mëparshme të skedarit. Ai është ende duke kaluar nëpër një zhvillim të rëndë (v0.4 në kohën e shkrimit), por tashmë ka parë projekte të interesuara për ta ndërtuar atë (FileCoin).

Sistemi i mesazheve

sistemi i mesazheve
sistemi i mesazheve

Sistemet e mesazheve ofrojnë një vendndodhje qendrore për ruajtjen dhe shpërndarjen e mesazheve brenda një sistemi të përbashkët. Ato ju lejojnë të ndani logjikën e aplikacionit nga komunikimi i drejtpërdrejtë me sistemet e tjera.

Shkalla e njohur - grupi Kafka i LinkedIn përpunonte 1 trilion mesazhe në ditë me maksimum prej 4.5 milionë mesazhesh në sekondë.

Me fjalë të thjeshta, platforma e mesazheve funksionon si kjo:

  1. Mesazhikalohet nga aplikacioni që e krijon potencialisht, i quajtur prodhues, shkon në platformë dhe lexohet nga shumë aplikacione, të quajtur konsumatorë.
  2. Nëse ju duhet të ruani një ngjarje të caktuar në shumë vende, si krijimi i një përdoruesi për një bazë të dhënash, ruajtje, shërbimi i dërgimit të emailit, atëherë platforma e mesazheve është mënyra më e pastër për të shpërndarë atë mesazh.

Ka disa platforma të njohura të mesazheve të nivelit të lartë.

RabbitMQ është një ndërmjetës mesazhesh që ju lejon të rregulloni më mirë kontrollin e trajektoreve të tyre duke përdorur rregullat e rrugëtimit dhe parametra të tjerë lehtësisht të konfigurueshëm. Mund të quhet një ndërmjetës “i zgjuar” sepse ka shumë logjikë dhe monitoron nga afër mesazhet që kalojnë nëpër të. Ofron opsione për AP dhe CP nga CAP.

Kafka është një ndërmjetës mesazhesh që është pak më pak funksional pasi nuk mban shënim se cilat mesazhe janë lexuar dhe nuk lejon logjikë komplekse të rrugëtimit. Ndihmon në arritjen e performancës së mahnitshme dhe përfaqëson premtimin më të madh në këtë hapësirë me zhvillimin aktiv të sistemeve të shpërndara nga komuniteti me burim të hapur dhe mbështetjen e ekipit Confluent. Kafka është më i popullarizuari me kompanitë e teknologjisë së lartë.

Aplikacionet e ndërveprimit me makine

Ky sistem shpërndarjeje është një grup kompjuterësh që punojnë së bashku për t'u shfaqur si një kompjuter i veçantë për përdoruesin përfundimtar. Keto makina jane ne gjendje te pergjithshme, funksionojnenjëkohësisht dhe mund të punojë në mënyrë të pavarur pa ndikuar në kohën e funksionimit të të gjithë sistemit.

Nëse e konsideroni bazën e të dhënave si të shpërndarë, vetëm nëse nyjet ndërveprojnë me njëra-tjetrën për të koordinuar veprimet e tyre. Në këtë rast është diçka si një aplikacion që ekzekuton kodin e tij të brendshëm në një rrjet peer-to-peer dhe klasifikohet si një aplikacion i shpërndarë.

Shkalla e njohur - BitTorrent
Shkalla e njohur - BitTorrent

Shembuj të aplikacioneve të tilla:

  1. Shkalla e njohur - Tufa e BitTorrent me 193,000 nyje për episodin e Game of Thrones.
  2. Teknologjia bazë e regjistrit të sistemeve Blockchain të shpërndarë.

Librat e shpërndarë mund të mendohen si një bazë të dhënash e pandryshueshme, vetëm për aplikacione, e cila përsëritet, sinkronizohet dhe ndahet në të gjitha nyjet në rrjetin e shpërndarjes.

Shkalla e mirënjohur - rrjeti Ethereum - kishte 4.3 milionë transaksione në ditë më 4 janar 2018. Ata përdorin modelin Event Sourcing, i cili ju lejon të rivendosni gjendjen e bazës së të dhënave në çdo kohë.

Blockchain është teknologjia aktuale themelore e përdorur për librat e shpërndarë dhe në fakt shënoi fillimin e tyre. Kjo risi më e re dhe më e madhe në hapësirën e shpërndarë krijoi protokollin e parë të pagesës së vërtetë të shpërndarë, bitcoin.

Blockchain është një libër i shpërndarë me një listë të renditur të të gjitha transaksioneve që kanë ndodhur ndonjëherë në rrjetin e tij. Ofertat grupohen dhe ruhen në blloqe. I gjithë blockchain është në thelb një listë e lidhur blloqesh. Blloqe të specifikuarajanë të shtrenjta për t'u krijuar dhe janë të lidhura ngushtë me njëra-tjetrën nëpërmjet kriptografisë. E thënë thjesht, çdo bllok përmban një hash të veçantë (i cili fillon me X numër zero) të përmbajtjes së bllokut aktual (në formën e një peme Merkle) plus hash-in e bllokut të mëparshëm. Ky hash kërkon shumë fuqi të CPU-së.

Shembuj të sistemeve operative të shpërndara

Shembuj të sistemeve operative të shpërndara
Shembuj të sistemeve operative të shpërndara

Llojet e sistemit i shfaqen përdoruesit sepse janë sisteme me një përdorues. Ata ndajnë memorien, diskun e tyre dhe përdoruesi nuk e ka problem të lundrojë nëpër të dhëna. Përdoruesi ruan diçka në kompjuterin e tij dhe skedari ruhet në shumë vende, p.sh. në kompjuterë të lidhur në mënyrë që të dhënat e humbura të mund të rikuperohen lehtësisht.

Shembuj të sistemeve operative të shpërndara:

  1. Server Windows 2003;
  2. Serveri Windows 2008;
  3. Serveri Windows 2012;
  4. UbuntuLinux (server Apache).

Nëse ndonjë kompjuter ngrihet më lart, domethënë nëse shumë kërkesa shkëmbehen midis PC-ve individualë, kështu ndodh balancimi i ngarkesës. Në këtë rast, kërkesat përhapen në kompjuterin fqinj. Nëse rrjeti bëhet më i ngarkuar, atëherë ai mund të zgjerohet duke shtuar më shumë sisteme në rrjet. Skedari dhe dosjet e rrjetit sinkronizohen dhe përdoren konventat e emërtimit në mënyrë që të mos ndodhin gabime kur merren të dhënat.

Caching përdoret gjithashtu gjatë manipulimit të të dhënave. Të gjithë kompjuterët përdorin të njëjtën hapësirë emri për të emërtuar skedarët. Porsistemi i skedarëve është i vlefshëm për çdo kompjuter. Nëse skedari ka përditësime, ai shkruhet në një kompjuter dhe ndryshimet përhapen në të gjithë kompjuterët, kështu që skedari duket i njëjtë.

Skedarët bllokohen gjatë procesit të leximit/shkrimit, kështu që nuk ka bllokim midis kompjuterëve të ndryshëm. Ndodhin gjithashtu sesione, të tilla si leximi, shkrimi i skedarëve në një seancë dhe mbyllja e seancës, dhe më pas një përdorues tjetër mund të bëjë të njëjtën gjë e kështu me radhë.

Përfitimet e përdorimit

Një sistem operativ i krijuar për të bërë më të lehtë jetën e përditshme të njerëzve. Për përfitimet dhe nevojat e përdoruesit, sistemi operativ mund të jetë një përdorues ose i shpërndarë. Në një sistem burimesh të shpërndara, shumë kompjuterë janë të lidhur me njëri-tjetrin dhe ndajnë burimet e tyre.

Përfitimet e të bërit këtë:

  1. Nëse një kompjuter në një sistem të tillë është i dëmtuar ose i dëmtuar, atëherë një nyje ose kompjuter tjetër do të kujdeset për të.
  2. Më shumë burime mund të shtohen lehtësisht.
  3. Burimet si printerët mund të shërbejnë për shumë kompjuterë.

Kjo është një përmbledhje e sistemit të shpërndarjes, pse përdoret. Disa gjëra të rëndësishme për t'u mbajtur mend: ato janë komplekse dhe zgjidhen për shkallë dhe çmim dhe janë më të vështira për t'u punuar. Këto sisteme shpërndahen në disa kategori magazinimi: informatikë, sisteme skedarësh dhe mesazhesh, regjistra, aplikacione. Dhe e gjithë kjo është shumë sipërfaqësore për një sistem informacioni kompleks.

Recommended: