- Datadistribution
- Egenskaper hos distribuerade system
- Kompatibilitet
- Feltolerans
- Middleware och API
- Arkitektur
- Klient-serverarkitektur
- Peer-to-peer-arkitektur
- Arkitekturer på flera nivåer
- Processorns grupparkitektur
- Typer av distribuerade system
- Cluster computing
- Nätverksberäkning
- Molntjänster
- mål
- Dela resurser
- Abstraktion
- Öppning
- Interoperabilitet och portabilitet
- skalbarhet
- tillämpningar
- Erlang virtuell maskin
- bittorrent
- Fördel
- nackdelar
- Exempel på distribuerade system
- StackPath
- Internet
- referenser
De distribuerade systemen är programvara som används för att koordinera handlingarna för flera datorer. Denna samordning uppnås genom utbyte av meddelanden, det vill säga med data som överför information.
Distribuerade system kräver samtidiga komponenter, ett kommunikationsnätverk och en synkroniseringsmekanism. De tillåter delning av resurser, inklusive programvara, med system anslutna till ett nätverk. Därför är systemet baserat på ett nätverk som ansluter datorerna och hanterar dirigering av meddelanden.
a och b (distribuerade system). b (parallellt system). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Distribuerad datoranvändning är ett datorområde som ansvarar för analys av distribuerade system. Datorprogram som körs på ett distribuerat system kallas ett distribuerat program.
I ett sammanhang där det kan finnas hundratals eller tusentals datorer, vilket är en vanlig andel i stora internetföretag, är det mycket vanligt att det finns komponentfel, vare sig det är hårdvara, nätverk, diskar etc. och systemet måste vara beredda att möta dem hela tiden.
Datadistribution
Distribution är nyckeln till att kunna hantera mycket stora datakonglomerat. Det är nödvändigt att uppnå skalbarhet, vilket är sättet att upprätthålla stabila prestanda när datapooler växer genom att lägga till nya resurser till systemet.
Å andra sidan presenterar distribution en serie tekniska problem som gör design och implementering av distribuerad databehandling och lagring viktigt att ta hänsyn till. En punkt att ta hänsyn till är risken för eventuella fel.
Egenskaper hos distribuerade system
a och b (distribuerade system). b (parallellt system). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Kompatibilitet
Enheterna kan fungera med olika operativsystem. Detta hindrar inte dem från att alltid erbjuda samma tjänster till användare. Av denna anledning är alla anslutna enheter kompatibla med varandra.
En annan grundläggande fråga är designen av programvaran, eftersom den också är kompatibel med alla system och användare som finns på varje dator.
Feltolerans
Att vara ett enda nätverk med många datorer, om någon av dess komponenter misslyckas, kan de andra fortsätta att utföra sin funktion fullt ut och undvika fel snabbt.
Därför tenderar distribuerade system att ge mycket förtroende när man arbetar med dem, eftersom det är ganska sällsynt att systemet misslyckas helt, eftersom uppgifterna inte finns i en enda enhet utan på olika datorer.
Middleware och API
Olika processorer använder distribuerande mellanprogram, vilket hjälper till att dela olika resurser och kapaciteter för att ge användarna ett sammanhängande och integrerat nätverk. Det tillhandahåller också applikationer med ett antal tjänster, till exempel säkerhet och kraschåterställning.
Idag hör du mer om applikationsprogrammeringsgränssnitt (API: er) som fungerar som en gateway där applikationer kan kommunicera. Program behöver inte veta något om andra applikationer utom deras API.
Arkitektur
Klient-serverarkitektur
En viss dator som kallas en server kan utföra vissa uppgifter, som kallas tjänster. Till exempel betjäna filer över nätverket, möjligheten att köra vissa kommandon eller vägleda data till en skrivare. Klienten är den dator som begär tjänsterna.
Datorn som främst är känd för tjänsten den tillhandahåller kan kallas en skrivarserver, filserver och så vidare.
Peer-to-peer-arkitektur
Det antar att varje dator har liknande funktioner och att ingen maskin är dedikerad för att betjäna de andra. Ett exempel på detta är en uppsättning mikrodatorer på ett litet kontor.
Nätverket tillåter människor att få åtkomst till varandras filer och skicka e-post, men ingen dator tillhandahåller en specifik uppsättning tjänster.
Arkitekturer på flera nivåer
För vissa tjänster kan det vara meningsfullt att ha hierarkisk anslutning. Till exempel:
- När en server utför sina uppgifter kan en annan server av en annan typ kontaktas
- Klient-serverarkitekturen är en två-lagsarkitektur.
Processorns grupparkitektur
Ett operativsystem kan automatiskt starta processer på lediga datorer och till och med migrera processer till system med ett större antal tillgängliga CPU-cykler. I andra fall kan en användare manuellt starta eller flytta processer på tillgängliga system.
Typer av distribuerade system
Cluster computing
Det är en samling liknande datorer anslutna via ett höghastighetsnätverk i lokala områden. Det används ofta för parallell programmering, där ett enda datorintensivt program körs parallellt på flera datorer.
Varje kluster består av en uppsättning datornoder som övervakas och hanteras av en eller flera noder som kallas masters.
Nätverksberäkning
Den består av noder med tydliga skillnader i hårdvara och nätverksteknologi. Den nuvarande trenden att ha en specifik konfiguration av noder för vissa uppgifter har lett till större mångfald, vilket är den vanligaste inom nätverksberäkning.
Molntjänster
Det är en uppsättning virtualiserade resurser som finns i en molnleverantörs datacenter. Kunder kan etablera en virtualiserad infrastruktur för att dra nytta av olika molntjänster.
För användaren verkar det som om han hyr sin egen exklusiva dator. Men det är faktiskt troligt att du delar det med andra kunder. Detsamma gäller virtuell lagring.
Dessa virtualiserade resurser kan konfigureras dynamiskt, vilket möjliggör skalbarhet. Om fler datorresurser behövs kan systemet köpa mer.
mål
Dela resurser
Vare sig det är lagringsanläggningar, datafiler, tjänster eller nätverk, kanske du vill dela dessa resurser mellan applikationer för ekonomins skull.
Det är mycket billigare att ha en delad lagringsanläggning mellan flera applikationer än att behöva köpa och underhålla lagring för var och en separat.
Abstraktion
För att dölja att processerna och resurserna är fördelade på flera datorer, eventuellt geografiskt spridda. Det vill säga processerna och resurserna abstraheras från användaren.
Öppning
Det indikerar i princip att ett distribuerat system är byggt med element som enkelt kan integreras med andra system. I enlighet med standardiserade regler kan varje process med det gränssnittet kommunicera med en annan process med samma gränssnitt.
Interoperabilitet och portabilitet
Det hänvisar till när två system från olika tillverkare kan arbeta tillsammans. Portabilitet bestämmer i vilken utsträckning en applikation gjord för system A kan fungera på system B utan modifiering.
skalbarhet
Det är nödvändigt när det finns en ökning av användare som behöver mer resurser. Ett bra exempel är ökningen av Netflix-publiken varje fredagskväll.
Det betyder att dynamiskt lägga till fler resurser, som att öka nätverkskapaciteten genom att tillåta mer videoöverföring och minska den när konsumtionen har normaliserats.
tillämpningar
Erlang virtuell maskin
LYME-programvarupaketet är baserat på Erlang och erbjuder ett alternativ till LAMP. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)
Erlang är ett funktionellt språk som har stor semantik för samtidighet, distribution och feltolerans. En virtuell Erlang-maskin hanterar distributionen av en Erlang-applikation.
Denna modell fungerar genom att ha många isolerade processer, alla med förmågan att kommunicera med varandra genom ett inbyggt meddelandesystem.
Den virtuella Erlang-maskinen kan ansluta till andra virtuella maskiner som finns på olika platser. Denna svärm av virtuella maskiner kör en enda applikation och hanterar felet i en maskin genom att schemalägga den till att köras på en annan nod.
bittorrent
BitTorrent-nätverksdrift. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)
Det är ett av de mest använda protokollen för överföring av stora filer på webben. Huvudtanken är att underlätta överföring av filer mellan olika kamrater i nätverket utan att behöva gå igenom en huvudserver.
Genom att använda en BitTorrent-klient kan du ansluta till flera datorer runt om i världen för att ladda ner en fil. En dator som fungerar som en koordinator hjälper till att visa noderna i nätverket som har den önskade filen.
BitTorrent låter dig frivilligt vara värd för filer och ladda upp dem för andra användare som vill ha dem. Det är så populärt eftersom det var det första i sitt slag som erbjuder incitament för att bidra till nätverket.
Fördel
- Fler noder kan enkelt läggas till i det distribuerade systemet, det vill säga det kan skalas efter behov.
- Alla noder i det distribuerade systemet är anslutna till varandra. Därför kan var och en av noderna enkelt dela data med de andra noderna.
- Resurser som skrivare kan delas med flera noder istället för att begränsas till bara en.
- Fel på en nod leder inte till fel i hela det distribuerade systemet. De andra noderna kan fortfarande kommunicera med varandra.
nackdelar
- Vissa meddelanden och data kan gå förlorade i nätverket när du flyttar från en nod till en annan.
- Det är svårt att tillhandahålla tillräcklig säkerhet i distribuerade system eftersom både noder och anslutningar måste säkras.
- Nätbelastning kan uppstå om alla noder i det distribuerade systemet försöker skicka data samtidigt.
- Databasen som är ansluten till de distribuerade systemen är ganska komplicerad och svår att hantera jämfört med ett enda användarsystem.
Exempel på distribuerade system
Distribuerade system kan användas i ett stort antal fall, till exempel elektroniska banksystem, massivt multiplayer-onlinespel och sensornätverk.
StackPath
Den använder ett särskilt stort distribuerat system för att driva sin nätverksservice för innehållsleverans. Var och en av sina närvaropunkter (PoP) har noder som bildar ett världsomspännande distribuerat system.
StackPath lagrar det senaste och ofta begärda innehållet på platserna närmast webbplatsen som används.
Genom att sammankoppla virtuella datorer, förutom att dra fördel av hastigheten och smidigheten i den senaste datoren, kan systemet hantera tusentals samtidiga förfrågningar mycket snabbt.
Internet
Det är det största distribuerade systemet i världen. Varje användare känner sig som ett enda system, även om det består av miljoner datorer.
Genom begreppet abstraktion har du ingen aning om var informationen lagras, hur många servrar som är involverade eller hur informationen kommer till webbläsaren. Webbläsaren löser internetets komplexitet.
Detta gäller även applikationer som Gmail e-post eller andra applikationer som kan användas. Varje person interagerar med distribuerade applikationer dagligen.
referenser
- Paul Krzyzanowski (2018). Distribuerade system. Hämtad från: cs.rutgers.edu.
- Catherine Paganini (2019). Primer: Distribuerade system och Cloud Native Computing. Den nya stacken. Hämtad från: thenewstack.io.
- International University of Valencia (2020). Distribuerade system, egenskaper och klassificering. Hämtad från: universidadviu.com.
- David Meador (2018). Distribuerade system. Tutorials Point. Hämtad från: tutorialspoint.com.
- Robert Gibb (2019). Vad är ett distribuerat system? Hämtad från: blog.stackpath.com.
- Stanislav Kozlovski (2018). En grundlig introduktion till distribuerade system. Gratis kodläger. Hämtad från: freecodecamp.org.