Кредит на изображението: gorodenkoff/iStock/GettyImages
Разпределените системи са компютърни системи, при които множество компютърни системи работят заедно ефективно като едно цяло. Примерите за разпределени системи включват мрежи за разпространение на съдържание, използвани за обслужване на уебсайтове и онлайн видеоклипове, суперкомпютри, изградени от множество мощни математически процесори и разпределени бази данни, използвани в много онлайн системи. Разпределените системи могат да бъдат по-устойчиви, по-мощни и по-бързи от еднокомпютърните системи, но те също могат да изискват повече поддръжка и внимателно обмисляне на организацията и проблемите, които могат да излязат погрешно.
Предимства на разпределената система
Използването на разпределена система има редица потенциални предимства. Един от най-лесните за разбиране е излишъкът и устойчивостта. Ако една компания обслужва уебсайта си от разпределен набор от сървъри, а не от един сървър, тя може да успее да продължи, дори ако един сървър физически се повреди. Ако данните се разпределят между множество сървъри или дискове, често срещано явление в съвременните разпределени системи, може да няма загуба на данни, дори ако устройство за съхранение престане да работи.
Видео на деня
Скорост и разпространение на съдържание
Разпределените системи също могат да бъдат по-бързи от еднокомпютърните системи. Едно от предимствата на разпределената база данни е, че заявките могат да се насочват към сървър с a конкретна потребителска информация, а не всички заявки да отидат до една машина, която може да бъде претоварен.
Заявките могат също да се насочват към сървъри, които са физически затворени или чрез бърза мрежова връзка към всеки, който иска данните, което може да означава по-малко време и други ресурси, отделени за справяне с мрежовия трафик и тесни места. Това е често срещано явление в мрежите за разпространение на съдържание, използвани за онлайн медии.
Мащабиране и паралелизъм
След като разпределените системи са настроени да разпространяват данни между участващите сървъри, те също могат да бъдат лесно мащабируеми. Ако са добре проектирани, това може да бъде толкова просто, колкото да добавите нов хардуер и да кажете на мрежата да го добави към разпределената система.
Разпределените системи могат също да бъдат проектирани за паралелизъм. Това е често срещано при математическите операции за неща като моделиране на времето и научни изчисления, където са много мощни процесорите могат да разделят независими части от сложни симулации и да получат отговора по-бързо, отколкото биха ги изпълнявали серия.
Разпределени изчислителни предизвикателства
Едно голямо предизвикателство с разпределените изчисления е, че може да бъде трудно за програмистите да разсъждават. Може да има предизвикателства как да се разпространяват данни, за да се гарантира, че изискванията за устойчивост са изпълнени при различни неочаквани условия.
Ако устройствата трябва да се синхронизират, може да има трудни за откриване грешки, които ги карат да чакат един друг да предавате данни или случайно да се опитате да прочетете или запишете една и съща част от данни по едно и също време, причинявайки грешки.
Сигурността и поверителността също могат да станат проблем с разпределените системи, тъй като данните на хората се съхраняват на множество компютри, понякога на множество физически места. Разпределените системи също могат да бъдат излишни за някои задачи, като използват повече физически ресурси и инженерно време, отколкото е необходимо.