Предположим, что инфраструктура веб-сайта очень сложна и полностью распределена (вероятно, как и большинство крупных веб-компаний).
Правильно ли я считаю, что, хотя существуют все эти дополнительные веб-серверы для обработки нескольких клиентских запросов, все еще существует одна «машина», в которую должны войти пользователи? Я предполагаю, что эта машина будет физически связана с IP-адресом?
Я спрашиваю, потому что мне нужно знать, есть ли в местах, где существуют распределенные системы, единственная точка отказа - обычно это узел управления или, в этом примере, машина, подключенная к общедоступному Интернету? Конечно, не может быть две машины, подключенные к Интернету, так как они должны иметь разные IP-адреса?
Эта «машина» может не являться сервером как таковой, но, возможно, это часть оборудования Cisco. Мне просто нужно знать, есть ли в реальном мире в этих распределенных системах определенный раздел, в котором они зависят от целостности одного электронного устройства?
It is certainly possible to build systems where there is no single point of failure. This is often expensive, and many of the techniques to accomplish this require some pretty complex configuration.
Zoredache 12 лет назад
0
http://en.wikipedia.org/wiki/Round_robin_dns http://en.wikipedia.org/wiki/Anycast
Zoredache 12 лет назад
0
Может быть, но не обязательно, чтобы одна машина выполняла все запросы, часто эту машину называют балансировщиком нагрузки . Однако, если каждый запрос, который делает клиент, является автономным, или если распределенный внешний интерфейс может взаимодействовать с распределенным внутренним сервером, который находится в синхронизации, клиент может общаться с другим компьютером для каждого запроса, который он делает.
Все, что должно произойти, - либо клиент предоставляет независимой машине всю информацию, необходимую ему для выполнения запроса в запросе, либо сервер делает запрос к внутренней распределенной базе данных по токену (часто cookie для веб-сайтов). ) и сервер может выбрать, где остановилась другая машина.
1
Darth Android
Чтобы ответить на ваш вопрос, Нет, вы можете построить инфраструктуру сайта без единой точки отказа.
Циклическая перестановка DNS позволяет связать несколько IP-адресов с одним доменным именем; каждый из этих внешних интерфейсов может, в свою очередь, взаимодействовать с кластерными внутренними системами, благодаря чему существует несколько независимых копий баз данных, которые постоянно синхронизируются.
Джефф Этвуд на самом деле писал о работе Netflix, направленной на то, чтобы сделать их систему невосприимчивой к отдельным точкам отказа, включая демона, который случайным образом отключает службы / экземпляры, которые они используют для тестирования.
Те же самые принципы могут быть применены к любой интерфейсной системе, такой как балансировщик нагрузки, чья задача - распределять входящие HTTP-запросы на узлы веб-серверов в ферме серверов.
0
Mike Scott
Может быть (и часто бывает) несколько разных IP-адресов, связанных с одним доменным именем. Например, google.com в настоящее время разрешает (для меня):
Поведение веб-браузера варьируется, но обычно он пытается один IP-адрес в случайном порядке, и переходит на другой, если он не получает ответа от первого. Так что здесь нет единой точки отказа.