Fordele og ulemper ved distribuerede systemer

Set ovenfra gennem glasset af IT-ingeniør, der arbejder med bærbar computer i datacenter fuld af aktive rackservere.

Billedkredit: gorodenkoff/iStock/GettyImages

Distribuerede systemer er computersystemer, hvor flere computersystemer arbejder effektivt sammen som en enkelt enhed. Eksempler på distribuerede systemer omfatter indholdsdistributionsnetværk, der bruges til at betjene websteder og onlinevideoer, supercomputere bygget ud 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 enkeltcomputersystemer, men de kan også kræve mere vedligeholdelse og omhyggelige overvejelser om organisation og problemer, der kan gå forkert.

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 robusthed. Hvis en virksomhed betjener sin hjemmeside fra et distribueret sæt servere, i stedet for en enkelt server, kan den muligvis forblive oppe, selvom en server fysisk svigter. Hvis data distribueres mellem flere servere eller diske, en almindelig hændelse i moderne distribuerede systemer, er der muligvis ikke noget datatab, selvom en lagerenhed holder op med at fungere.

Dagens video

Hastighed og indholdsdistribution

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 bestemte brugers oplysninger, snarere end at alle anmodninger skal gå til en enkelt maskine, der kan være overbelastet.

Forespørgsler kan også dirigeres til servere, der er fysisk tæt på eller på en hurtig netværksforbindelse til hvem som helst dataene, hvilket kan betyde mindre tid og andre ressourcer afsat til at håndtere netværkstrafik og flaskehalse. Det er en almindelig hændelse i indholdsdistributionsnetværk, der bruges til onlinemedier.

Skalering og Parallelisme

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

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

Distribuerede computerudfordringer

En stor udfordring med distribueret computing er, at det kan være svært for programmører at ræsonnere om. Der kan være udfordringer med, hvordan man distribuerer data for at sikre, at krav til modstandsdygtighed opfyldes under forskellige uventede forhold.

Hvis enheder skal synkroniseres, kan der være fejl, der er svære at få øje på, som får dem til at vente på hinanden at transmittere data eller ved et uheld forsøge at læse eller skrive det samme stykke data på samme tid, hvilket forårsager fejl.

Sikkerhed og privatliv kan også blive et problem med distribuerede systemer, da folks data er lagret på tværs af flere computere, nogle gange på flere fysiske steder. Distribuerede systemer kan også være overkill til nogle opgaver, idet de bruger flere fysiske ressourcer og ingeniørtid end nødvendigt.