1

Предположим, что инфраструктура веб-сайта очень сложна и полностью распределена (вероятно, как большинство крупных веб-компаний).

Правильно ли я считаю, что, хотя существуют все эти дополнительные веб-серверы для обработки нескольких клиентских запросов, все еще существует одна "машина", в которую должны войти пользователи? Я предполагаю, что эта машина будет физически связана с IP-адресом?

Я спрашиваю, потому что мне нужно знать, есть ли в местах, где существуют распределенные системы, единственная точка отказа - обычно это узел управления или, в этом примере, компьютер, подключенный к общедоступному Интернету? Конечно, не может быть две машины, подключенные к Интернету, так как они должны иметь разные IP-адреса?

Эта "машина" может не являться сервером как таковой, но, возможно, это часть оборудования Cisco. Мне просто нужно знать, есть ли в реальном мире в этих распределенных системах определенный раздел, в котором они зависят от целостности одного электронного устройства?

4 ответа4

1

Может быть, но не обязательно, чтобы одна машина выполняла все запросы, часто эту машину называют балансировщиком нагрузки. Однако, если каждый запрос, который делает клиент, является автономным, или если распределенный внешний интерфейс может взаимодействовать с распределенным внутренним интерфейсом, который находится в синхронизации, клиент может общаться с другим компьютером для каждого запроса, который он делает.

Все, что должно произойти, - либо клиент предоставляет независимой машине всю информацию, необходимую ему для выполнения запроса в запросе, либо сервер делает запрос к внутренней распределенной базе данных по токену (часто cookie для веб-сайтов). ) и сервер может выбрать, где остановилась другая машина.

1

Чтобы ответить на ваш вопрос, Нет, вы можете построить инфраструктуру сайта без единой точки отказа.

Циклическая перестановка DNS позволяет связать несколько IP-адресов с одним доменным именем; каждый из этих внешних интерфейсов может, в свою очередь, взаимодействовать с кластерными внутренними системами, благодаря чему существует несколько независимых копий баз данных, которые постоянно синхронизируются.

Джефф Этвуд на самом деле писал о работе Netflix, направленной на то, чтобы сделать их систему невосприимчивой к отдельным точкам отказа, включая демона, который случайным образом отключает службы / экземпляры, которые они используют для тестирования.

1

Некоторые примеры:

Сделайте веб-сайт высокодоступным с помощью IP Failover, Heartbeat и Pacemaker в Ubuntu 9.10 (Karmic)

Microsoft Cluster Server (MSCS) предоставляет возможность определять ресурс IP-адреса в кластере и переключать его с одного узла на другой.

Те же самые принципы могут быть применены к любой интерфейсной системе, такой как балансировщик нагрузки, чья задача - распределять входящие HTTP-запросы на узлы веб-серверов в ферме серверов.

0

Может быть (и часто бывает) несколько разных IP-адресов, связанных с одним доменным именем. Например, google.com в настоящее время разрешает (для меня):

Name:   google.com
Address: 173.194.34.129
Name:   google.com
Address: 173.194.34.130
Name:   google.com
Address: 173.194.34.131
Name:   google.com
Address: 173.194.34.132
Name:   google.com
Address: 173.194.34.133
Name:   google.com
Address: 173.194.34.134
Name:   google.com
Address: 173.194.34.135
Name:   google.com
Address: 173.194.34.136
Name:   google.com
Address: 173.194.34.137
Name:   google.com
Address: 173.194.34.142
Name:   google.com
Address: 173.194.34.128

Поведение веб-браузера варьируется, но обычно он пытается один IP-адрес в случайном порядке, и переходит на другой, если он не получает ответа от первого. Так что здесь нет единой точки отказа.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .