Переваги та недоліки розподілених систем

Вид зверху крізь скло ІТ-інженера, який працює з ноутбуком у центрі обробки даних, повному активних стійкових серверів.

Авторство зображення: gorodenkoff/iStock/GettyImages

Розподілені системи – це комп’ютерні системи, де декілька комп’ютерних систем ефективно працюють разом як єдине ціле. Приклади розподілених систем включають мережі розповсюдження вмісту, що використовуються для обслуговування веб-сайтів та онлайн-відео, суперкомп'ютери, побудовані на основі багатьох потужних математичних процесорів і розподілених баз даних, які використовуються в багатьох мережах системи. Але розподілені системи можуть бути більш стійкими, потужнішими та швидшими, ніж однокомп’ютерні системи вони також можуть вимагати більшого обслуговування та ретельного продумування організації та проблем, які можуть виникнути неправильно.

Переваги розподіленої системи

Використання розподіленої системи має ряд потенційних переваг. Одним з найпростіших для розуміння є надмірність і стійкість. Якщо компанія обслуговує свій веб-сайт із розподіленого набору серверів, а не з одного сервера, вона може не працювати, навіть якщо один сервер фізично вийде з ладу. Якщо дані розподіляються між кількома серверами або дисками, що є поширеним явищем у сучасних розподілених системах, втрати даних може не відбуватися, навіть якщо пристрій зберігання даних перестане працювати.

Відео дня

Швидкість і розповсюдження контенту

Розподілені системи також можуть бути швидшими, ніж системи з одним комп’ютером. Однією з переваг розподіленої бази даних є те, що запити можна перенаправляти на сервер за допомогою a конкретна інформація користувача, а не всі запити, які повинні надходити на одну машину, яка може бути перевантажений.

Запити також можна перенаправляти на сервери, які фізично закриті, або на швидке мережеве з’єднання, кому захочеться дані, що може означати менше часу та інших ресурсів, що виділяються на роботу з мережевим трафіком і вузькі місця. Це звичайне явище в мережах розповсюдження контенту, які використовуються для онлайн-медіа.

Масштабування та паралельність

Після того, як розподілені системи налаштовані для розподілу даних між задіяними серверами, їх також можна легко масштабувати. Якщо вони добре розроблені, це може бути так само просто, як додати нове обладнання та сказати мережі, щоб вона додала його до розподіленої системи.

Розподілені системи також можуть бути розроблені для паралельності. Це часто зустрічається в математичних операціях для таких речей, як моделювання погоди та наукові обчислення, де багато потужних процесори можуть розділяти незалежні частини складних симуляцій і отримувати відповідь швидше, ніж вони виконували б їх серія.

Проблеми розподілених обчислень

Одна велика проблема з розподіленими обчисленнями полягає в тому, що програмістам може бути важко міркувати. Можуть виникнути проблеми з тим, як розподілити дані, щоб забезпечити виконання вимог стійкості в різних несподіваних умовах.

Якщо пристроям потрібно синхронізуватися, можуть виникнути складні для виявлення помилки, які змушують їх чекати один одного передати дані або випадково спробувати прочитати або записати один і той же фрагмент даних одночасно, що спричиняє помилки.

Безпека та конфіденційність також можуть стати проблемою для розподілених систем, оскільки дані людей зберігаються на кількох комп’ютерах, іноді в кількох фізичних місцях. Розподілені системи також можуть бути зайвими для деяких завдань, використовуючи більше фізичних ресурсів та інженерного часу, ніж це необхідно.