Distribuerede systemer er computersystemer, hvor flere computersystemer fungerer effektivt som en enkelt enhed. Eksempler på distribuerede systemer inkluderer indholdsdistributionsnetværk, der bruges til at betjene websteder og onlinevideoer, supercomputere bygget af flere kraftfulde matematiske processorer og distribuerede databaser, der bruges i mange online systemer. Distribuerede systemer kan være mere modstandsdygtige, mere kraftfulde og hurtigere end enkelt-computersystemer, men de kan også kræve mere vedligeholdelse og omhyggelig tanke om organisering og problemer, der kan gå galt.

Top view gennem glasset af IT-ingeniør, der arbejder med bærbar computer i datacenter, fuld af aktive rack-servere.

Fordele ved et distribueret system

Der er en række potentielle fordele ved at bruge et distribueret system. En af de nemmeste at forstå er redundans og elasticitet. Hvis et firma betjener sit websted fra et distribueret sæt servere i stedet for fra en enkelt server, kan det muligvis holde sig ope, selvom en server fysisk mislykkes. Hvis data distribueres mellem flere servere eller diske, en almindelig forekomst i moderne distribuerede systemer, kan der muligvis ikke være noget datatab, selvom en lagerenhed ophører med at arbejde.

Distribution af hastighed og indhold

Distribuerede systemer kan også være hurtigere end enkeltcomputersystemer. En af fordelene ved en distribueret database er, at forespørgsler kan dirigeres til en server med en bestemt brugers oplysninger i stedet for at alle anmodninger skal gå til en enkelt maskine, der kan overbelastes.

Forespørgsler kan også dirigeres til servere fysisk tæt eller på en hurtig netværksforbindelse til den, der vil have dataene, hvilket kan betyde mindre tid og andre ressourcer, der er afsat til håndtering af netværkstrafik og flaskehalse. Det er en almindelig forekomst i indholdsdistributionsnetværk, der bruges til online medier.

Skalering og parallelisering

Når distribuerede systemer er konfigureret til at distribuere data blandt de involverede servere, kan de også let skaleres. Hvis de er godt designet, kan det være så simpelt som at tilføje noget nyt hardware og bede netværket om at føje det til det distribuerede system.

Distribuerede systemer kan også designes til parallelisme. Dette er almindeligt i matematiske operationer til ting som vejrmodellering og videnskabelig computing, hvor flere kraftige processorer kan opdele uafhængige dele af komplekse simuleringer og få svaret hurtigere, end de ville køre dem i serie.

Distribuerede computerudfordringer

En stor udfordring med distribueret computing er, at det kan være svært for programmører at resonnere over. Der kan være udfordringer med, hvordan man distribuerer data for at sikre, at elasticitetskravene opfyldes under forskellige uventede forhold.

Hvis enheder skal synkroniseres, kan der være vanskelige at se fejl, der får dem til at vente på hinanden med at overføre data eller ved et uheld prøve at læse eller skrive det samme stykke data på samme tid og forårsage fejl.

Sikkerhed og privatliv kan også blive et problem med distribuerede systemer, da folks data gemmes på flere computere, undertiden på flere fysiske placeringer. Distribuerede systemer kan også være overdrevne for nogle opgaver ved at bruge mere fysiske ressourcer og tekniktid end nødvendigt.