Распределенная сеть — это распределенная вычислительная сетевая система, в которой компоненты программы и данные зависят от нескольких источников.
Распределенная сеть, используемая в распределенных вычислениях , представляет собой сетевую систему, в которой компьютерное программирование , программное обеспечение и его данные распределены по более чем одному компьютеру, но передают сложные сообщения через свои узлы (компьютеры) и зависят друг от друга. Цель распределенной сети — совместное использование ресурсов, как правило, для достижения одной или схожей цели. [1] [2] Обычно это происходит в компьютерной сети , [1] однако, вычисления на основе Интернета становятся все более популярными. [3] Обычно распределенная сетевая система состоит из процессов , потоков , агентов и распределенных объектов . [3] Просто распределенных физических компонентов недостаточно, чтобы считаться распределенной сетью; обычно распределенная сеть использует параллельное выполнение программ. [2]
Клиент-серверные вычисления — это тип распределенных вычислений, где один компьютер, клиент, запрашивает данные с сервера, основного вычислительного центра, который отвечает клиенту напрямую запрошенными данными, иногда через агента. Клиент-серверные распределенные сети также популярны в веб-вычислениях. [3] Клиент-сервер — это принцип, согласно которому клиентский компьютер может предоставлять определенные возможности для пользователя и запрашивать другие возможности у других компьютеров, которые предоставляют услуги для клиентов. Протокол передачи гипертекста в Интернете в основном полностью клиент-серверный. [1] [4] [5] [6]
Распределенная сеть также может быть основана на агентах , где то, что управляет агентом или компонентом, определено нечетко, а компоненты могут иметь либо предварительно настроенные, либо динамические настройки. [3]
Децентрализация — это когда каждый компьютер в сети может использоваться для текущей вычислительной задачи, что является противоположностью модели клиент/сервер. Обычно используются только простаивающие компьютеры, и таким образом считается, что сети более эффективны. [5] Вычисления Peer-to-Peer (P2P) основаны на децентрализованной распределенной сети, включая технологию распределенного реестра , такую как блокчейн . [7] [8]
Mesh-сеть — это локальная сеть, состоящая из устройств (узлов), которая изначально была разработана для связи посредством радиоволн, что позволяет использовать различные типы устройств. Каждый узел может общаться с любым другим узлом в сети.
До 1980-х годов вычисления обычно были централизованы на одном недорогом настольном компьютере. [9] Но сегодня вычислительные ресурсы (компьютеры или серверы) обычно физически распределены во многих местах, в чем и преуспевает распределенная сеть. Некоторые типы вычислений не масштабируются после определенного уровня параллелизма и преимуществ превосходных аппаратных компонентов, и, таким образом, являются узкими местами , например, с помощью слов инструкций сверхбольшого масштаба . Эти узкие места преодолеваются путем увеличения количества компьютеров, а не мощности их компонентов. Ситуации, когда разделение ресурсов становится проблемой или когда требуется более высокая отказоустойчивость , также находят помощь в распределенной сети. [2] Распределенная сеть также очень поддерживает более высокие уровни анонимности. [10]
Предприятия с быстрым ростом и потребностями в масштабировании могут столкнуться с трудностями при поддержке собственной распределенной сети в рамках традиционной модели клиент/серверных вычислений. Облачные вычисления — это утилита распределенных вычислений над интернет-приложениями, хранилищами и вычислительными службами. Облако — это кластер компьютеров или серверов, которые тесно связаны для обеспечения масштабируемых , высокопроизводительных вычислений или связанных задач. [2] [11]