Distribuerte systemegenskaper, arkitektur, typer, mål, applikasjoner

1999
Anthony Golden
Distribuerte systemegenskaper, arkitektur, typer, mål, applikasjoner

De Distribuerte systemer de er programvare som tjener til å koordinere handlingene til flere datamaskiner. Denne koordineringen oppnås gjennom utveksling av meldinger, det vil si med dataenheter som overfører informasjon.

Distribuerte systemer krever samtidige komponenter, et kommunikasjonsnettverk og en synkroniseringsmekanisme. De tillater deling av ressurser, inkludert programvare, av systemer som er koblet til et nettverk. Derfor er systemet basert på et nettverk som kobler sammen datamaskiner og håndterer ruting av meldinger..

a og b (distribuerte systemer). b (parallelt system). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)

Distribuert databehandling er et område av databehandling som er ansvarlig for å analysere distribuerte systemer. Dataprogrammet som kjører på et distribuert system kalles et distribuert program.

I en sammenheng der det kan være hundrevis eller tusenvis av datamaskiner, som er en vanlig andel i store internettbedrifter, er det veldig vanlig at det er komponentfeil, det være seg maskinvare, nettverk, disker osv., Og systemet må være klargjort å møte dem hele tiden.

Artikkelindeks

  • 1 Datadistribusjon
  • 2 Kjennetegn på distribuerte systemer
    • 2.1 Kompatibilitet
    • 2.2 Feiltoleranse
    • 2.3 Middleware og API
  • 3 Arkitektur
    • 3.1 Klient-server arkitektur
    • 3.2 Peer-to-peer-arkitektur
    • 3.3 Flernivåarkitekturer
    • 3.4 Prosessorgruppearkitektur
  • 4 Typer distribuerte systemer
    • 4.1 Cluster computing
    • 4.2 Nettverksberegning
    • 4.3 Cloud computing
  • 5 mål
    • 5.1 Del ressurser
    • 5.2 Abstraksjon
    • 5.3 Åpning
    • 5.4 Interoperabilitet og bærbarhet
    • 5.5 Skalerbarhet
  • 6 Søknader
    • 6.1 Erlang virtuell maskin
    • 6.2 BitTorrent
  • 7 Fordeler
  • 8 Ulemper
  • 9 Eksempler på distribuerte systemer
    • 9.1 StackPath
    • 9.2 Internett
  • 10 Referanser

Datadistribusjon

Distribusjon er nøkkelen til å kunne håndtere veldig store dataklynger. Påkrevd for skalerbarhet, som er et middel for å opprettholde stabil ytelse når datapasser vokser ved å legge til nye ressurser i systemet.

På den annen side presenterer distribusjon en rekke tekniske problemer som gjør det viktig å vurdere design og implementering av distribuert databehandling og lagring. Et poeng å ta i betraktning er risikoen for mulige feil.

Kjennetegn på distribuerte systemer

a og b (distribuerte systemer). b (parallelt system). Miym / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)

Kompatibilitet

Enhetene kan fungere med forskjellige operativsystemer. Dette hindrer dem ikke i å alltid tilby de samme tjenestene til brukerne. Av denne grunn er alle tilkoblede enheter kompatible med hverandre..

Et annet grunnleggende problem er utformingen av programvaren, fordi den også er kompatibel med alle systemene og brukerne på hver datamaskin..

Feiltoleranse

Å være et enkelt nettverk med mange datamaskiner, hvis noen av komponentene svikter, kan de andre fortsette å utføre sin funksjon fullt ut, og unngå feil raskt.

Av denne grunn har distribuerte systemer en tendens til å gi mye selvtillit når de jobber med dem, fordi det er ganske sjelden at systemet mislykkes fullstendig, fordi oppgavene ikke ligger i en enkelt enhet, men i forskjellige datamaskiner.

Middleware og API

Ulike prosessorer bruker distribusjonsmiddelvare, og hjelper med å dele forskjellige ressurser og muligheter for å gi brukerne et sammenhengende og integrert nettverk. Det tilbyr også applikasjoner en rekke tjenester, for eksempel sikkerhet og kollisjon.

I dag hører du mer om applikasjonsprogrammeringsgrensesnitt (APIer), som fungerer som en gateway der applikasjoner kan kommunisere. Apper trenger ikke å vite noe om andre apper bortsett fra deres API.

Arkitektur

Klient-server arkitektur

En bestemt datamaskin kalt en server kan utføre visse oppgaver, som kalles tjenester. For eksempel servering av filer over nettverket, muligheten til å utføre bestemte kommandoer eller ruting av data til en skriver. Klienten er datamaskinen som ber om tjenestene.

Datamaskinen som først og fremst er kjent for tjenesten den tilbyr, kan kalles en utskriftsserver, filserver osv..

Peer-to-peer-arkitektur

Den forutsetter at hver datamaskin har lignende evner og at ingen maskiner er dedikert til å betjene de andre. Et eksempel på dette er et sett med mikrodatamaskiner på et lite kontor.

Nettverket lar folk få tilgang til hverandres filer og sende e-post, men ingen datamaskiner tilbyr et bestemt sett med tjenester.

Arkitekturer på flere nivåer

For visse tjenester kan det være fornuftig å ha hierarkisk tilkobling. For eksempel:

  • En server når den utfører oppgavene sine, kan kontakte en annen server av en annen type
  • Klient-server-arkitekturen er en to-trinns arkitektur.

Prosessorgruppearkitektur

Et operativsystem kan automatisk starte prosesser på inaktive datamaskiner og til og med migrere prosesser til systemer med et høyere antall tilgjengelige CPU-sykluser. I andre tilfeller kan en bruker starte eller flytte prosesser manuelt på de tilgjengelige systemene.

Typer distribuerte systemer

Cluster computing

Det er et sett med lignende datamaskiner som er koblet til via et høyhastighets lokalt nettverk. Det brukes ofte til parallell programmering, der et enkelt beregningsintensivt program kjører parallelt på flere datamaskiner.

Hver klynge består av et sett med beregningsnoder som overvåkes og administreres av en eller flere noder som kalles mestere..

Nettverk databehandling

Den består av noder med markante forskjeller i maskinvare og nettverksteknologi. Den nåværende trenden med å ha en spesifikk konfigurasjon av noder for visse oppgaver har ført til større mangfold, som er den vanligste innen nettverksberegning.

Cloud Computing

Det er et sett med virtualiserte ressurser som ligger i datasenteret til en skyleverandør. Kunder kan etablere en virtualisert infrastruktur for å dra nytte av en rekke skytjenester.

For brukeren ser det ut til at han leier sin egen eksklusive datamaskin. Det er imidlertid sannsynlig at du deler det med andre kunder. Det samme gjelder virtuell lagring.

Disse virtualiserte ressursene kan konfigureres dynamisk, og muliggjør skalerbarhet. Hvis det kreves flere databehandlingsressurser, kan systemet skaffe seg mer.

mål

Del ressurser

Det være seg lagringsanlegg, datafiler, tjenester eller nettverk, det kan være lurt å dele disse ressursene mellom applikasjoner, for enkel økonomi.

Det er mye billigere å ha et felles lagringsanlegg mellom flere applikasjoner enn å måtte kjøpe og vedlikeholde lagring for hver enkelt separat..

Abstraksjon

For å skjule at prosessene og ressursene distribueres på flere datamaskiner, muligens geografisk spredte. Det vil si at prosessene og ressursene er abstrahert fra brukeren.

Åpning

Det indikerer i utgangspunktet at et distribuert system er bygget med elementer som enkelt kan integreres med andre systemer. I samsvar med de standardiserte reglene kan enhver prosess med det grensesnittet kommunisere med en annen prosess med samme grensesnitt.

Interoperabilitet og bærbarhet

Det refererer til når to systemer fra forskjellige produsenter kan samarbeide. Bærbarhet bestemmer i hvilken grad en applikasjon som er laget for system A kan fungere på system B uten endringer..

Skalerbarhet

Det er nødvendig når det er en økning i brukere som trenger mer ressurser. Et godt eksempel er økningen i Netflix-publikummet hver fredag ​​kveld.

Det betyr dynamisk å legge til flere ressurser, for eksempel å øke nettverkskapasiteten slik at mer videooverføring og redusere den når forbruket har normalisert seg.

applikasjoner

Erlang virtuell maskin

LYME-programvarepakken er basert på Erlang og tilbyr et alternativ til LAMP. Shmuel Csaba Otto Traian / CC BY-SA (https://creativecommons.org/licenses/by-sa/3.0)

Erlang er et funksjonelt språk som har god semantikk for samtidighet, distribusjon og feiltoleranse. En Erlang virtuell maskin håndterer distribusjonen av en Erlang-applikasjon.

Denne modellen fungerer ved å ha mange isolerte prosesser, alle med evnen til å kommunisere med hverandre gjennom et innebygd meldingsoverføringssystem..

Den virtuelle maskinen Erlang kan koble til andre virtuelle maskiner som er forskjellige steder. Denne svermen av virtuelle maskiner kjører et enkelt program, og håndterer feilene til en maskin ved å planlegge den til å kjøre på en annen node..

Bittorrent

BitTorrent nettverksdrift. Mrjavi / CC BY-SA (https://creativecommons.org/licenses/by-sa/4.0)

Det er en av de mest brukte protokollene for overføring av store filer på nettet. Hovedideen er å legge til rette for overføring av filer mellom forskjellige jevnaldrende på nettverket uten å måtte gå gjennom en hovedserver.

Ved å bruke en BitTorrent-klient kan du koble til flere datamaskiner over hele verden for å laste ned en fil. En datamaskin som fungerer som koordinator hjelper til med å vise nodene i nettverket som har ønsket fil.

BitTorrent lar deg frivillig hoste filer og laste dem opp for andre brukere som vil ha dem. Det er så populært fordi det var den første i sitt slag som ga insentiver for å bidra til nettverket..

Fordel

- Flere noder kan enkelt legges til i det distribuerte systemet, det vil si kan skaleres etter behov.

- Alle noder i det distribuerte systemet er koblet til hverandre. Derfor kan hver av nodene enkelt dele data med de andre nodene..

- Ressurser som skrivere kan deles med flere noder i stedet for å være begrenset til bare en.

- Feilen til en node fører ikke til feilen i hele det distribuerte systemet. De andre nodene kan fremdeles kommunisere med hverandre.

Ulemper

- Noen meldinger og data kan gå tapt i nettverket når du flytter fra en node til en annen.

- Det er vanskelig å gi tilstrekkelig sikkerhet i distribuerte systemer fordi både noder og forbindelser må være sikret.

- Nettverksoverbelastning kan oppstå hvis alle noder i det distribuerte systemet prøver å sende data samtidig.

- Database koblet til distribuerte systemer er ganske komplisert og uhåndterlig sammenlignet med enkeltbrukersystem.

Eksempler på distribuerte systemer

Distribuerte systemer kan brukes i et stort antall tilfeller, for eksempel elektroniske banksystemer, massivt multiplayer online spill og sensornettverk..

StackPath

Den bruker et spesielt stort distribuert system for å drive nettverkstjenesten for innholdslevering. Hvert av sine poeng for tilstedeværelse (PoP) har noder som danner et verdensomspennende distribuert system.

StackPath lagrer det siste og ofte etterspurte innholdet på stedene nærmest nettstedet som brukes.

Ved å koble sammen virtuelle datamaskiner, i tillegg til å dra nytte av hastigheten og smidigheten til toppmoderne databehandling, kan systemet veldig raskt håndtere tusenvis av samtidige forespørsler.

Internett

Det er det største distribuerte systemet i verden. Enhver bruker føles som et enkelt system, selv om det består av millioner av datamaskiner.

Gjennom begrepet abstraksjon aner du ikke hvor dataene er lagret, hvor mange servere som er involvert, eller hvordan informasjonen kommer til nettleseren. Nettleseren løser opp kompleksiteten på Internett.

Dette gjelder også applikasjoner som Gmail-e-post eller andre applikasjoner som kan brukes. Hver person kommuniserer med distribuerte applikasjoner på daglig basis.

Referanser

  1. Paul Krzyzanowski (2018). Distribuerte systemer. Hentet fra: cs.rutgers.edu.
  2. Catherine Paganini (2019). Primer: Distribuerte systemer og Cloud Native Computing. The New Stack. Hentet fra: thenewstack.io.
  3. Det internasjonale universitetet i Valencia (2020). Distribuerte systemer, egenskaper og klassifisering. Hentet fra: universidadviu.com.
  4. David Meador (2018). Distribuerte systemer. Opplæringspunkter. Hentet fra: tutorialspoint.com.
  5. Robert Gibb (2019). Hva er et distribuert system? Hentet fra: blog.stackpath.com.
  6. Stanislav Kozlovski (2018). En grundig introduksjon til distribuerte systemer. Gratis kodeleir. Hentet fra: freecodecamp.org.

Ingen har kommentert denne artikkelen ennå.