Fördelar och nackdelar med distribuerade system

Ovanifrån genom glaset av IT-ingenjör som arbetar med bärbar dator i datacenter fullt av aktiva rackservrar.

Bildkredit: gorodenkoff/iStock/GettyImages

Distribuerade system är datorsystem där flera datorsystem fungerar effektivt tillsammans som en enhet. Exempel på distribuerade system inkluderar innehållsdistributionsnätverk som används för att betjäna webbplatser och onlinevideor, superdatorer byggda av flera kraftfulla matematiska processorer och distribuerade databaser som används i många online system. Distribuerade system kan vara mer motståndskraftiga, kraftfullare och snabbare än endatorsystem, men de kan också kräva mer underhåll och noggrann eftertanke om organisation och problem som kan försvinna fel.

Fördelar med ett distribuerat system

Det finns ett antal potentiella fördelar med att använda ett distribuerat system. En av de lättaste att förstå är redundans och motståndskraft. Om ett företag betjänar sin webbplats från en distribuerad uppsättning servrar, snarare än en enskild server, kan det vara kvar även om en server fysiskt misslyckas. Om data distribueras mellan flera servrar eller diskar, en vanlig företeelse i moderna distribuerade system, kanske det inte blir någon dataförlust även om en lagringsenhet slutar fungera.

Dagens video

Hastighet och innehållsdistribution

Distribuerade system kan också vara snabbare än endatorsystem. En av fördelarna med en distribuerad databas är att frågor kan dirigeras till en server med en viss användares information, snarare än att alla förfrågningar måste gå till en enda maskin som kan vara överbelastad.

Förfrågningar kan också dirigeras till servrar som är fysiskt nära eller på en snabb nätverksanslutning till vem som helst data, vilket kan innebära mindre tid och andra resurser som allokeras för att hantera nätverkstrafik och flaskhalsar. Det är en vanlig företeelse i innehållsdistributionsnätverk som används för onlinemedia.

Skalning och parallellism

När väl distribuerade system har ställts in för att distribuera data mellan de inblandade servrarna kan de också enkelt skalas. Om de är väldesignade kan det vara så enkelt som att lägga till lite ny hårdvara och säga åt nätverket att lägga till det i det distribuerade systemet.

Distribuerade system kan också utformas för parallellitet. Detta är vanligt i matematiska operationer för saker som vädermodellering och vetenskaplig beräkning, där flera kraftfulla processorer kan dela upp oberoende delar av komplexa simuleringar och få svaret snabbare än de skulle köra in dem serier.

Distribuerade datorutmaningar

En stor utmaning med distribuerad datoranvändning är att det kan vara svårt för programmerare att resonera kring. Det kan finnas utmaningar i hur man distribuerar data för att säkerställa att resilienskraven uppfylls under olika oväntade förhållanden.

Om enheter behöver synkroniseras kan det vara svårupptäckta buggar som gör att de väntar på varandra att överföra data eller av misstag försöka läsa eller skriva samma datastycke samtidigt, vilket orsakar fel.

Säkerhet och integritet kan också bli ett problem med distribuerade system, eftersom människors data lagras på flera datorer, ibland på flera fysiska platser. Distribuerade system kan också vara överdrivet för vissa uppgifter, och använder mer fysiska resurser och ingenjörstid än vad som är nödvändigt.