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