Что часть аппаратных средств слушает на IP-адресе Facebook или Википедии?

Можно получить оптоволокно бизнес-класса (до 50 Мбит/с / 20 Мбит/с) от Verizon приблизительно за 200$ в месяц.

Однако лично я соглашаюсь с другими комментариями - арендный договор или арендую пространство стойки / серверы с кем-то еще, у кого уже есть магистраль и инфраструктура на месте.

32
задан 16 February 2010 в 11:07
9 ответов

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

Хорошая начальная точка для Вашего любопытства при обнаружении, как часть большого масштаба сайтов является Высокой Масштабируемостью - Запускается Здесь и Высокая Масштабируемость на архитектуре Викимедиа, Facebook и Твиттере как примеры.

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

Для хорошего объяснения по этой теме, включая сравнение аппаратного и программного обеспечения загружают стабилизаторы/прокси и как они выдерживают сравнение с циклическим алгоритмом DNS, имеют чтение веб-приложений Выравнивания нагрузки.

9
ответ дан 28 November 2019 в 19:56
  • 1
    Спасибо, Sim. Я прочитал большинство этих статей прежде, чем задать моему вопросу, но мне didn' t находят конкретный ответ. Так, там действительно единственная аппаратная подсистема балансировки нагрузки (или единственная машина, запускающая программное обеспечение выравнивания нагрузки), который поражен каждый раз, когда кто-то просматривает страницу Wikipedia? Или, есть ли другой прием где-нибудь для предотвращения узкого места? –  Igor Ostrovsky 16 February 2010 в 04:02
  • 2
    I' m не уверенный, что Википедия делает теперь, но эта статья с 2008 говорит о них использующий серию прокси-серверов реверса Сквида blogs.sun.com/WebScale/entry/scaling_wikipedia_with_lamp_7 –  Sim 16 February 2010 в 04:10
  • 3
    Существуют также альтернативные адреса, где Вы проверяете с помощью ping-запросов один IP-адрес, но они распределяются (randomly\arbitrarily\intentionally) одному из диапазона " real" конечные точки. I' m не уверенный, если Wikipedia\Google использует это, но I' m вполне уверенный некоторые корневые DNS-серверы делают. Мои ping к Википедии соответствуют Вашим (и I' m в Ирландии), таким образом, я подозреваю, что они могли бы использовать это. –  Helvick 16 February 2010 в 05:23
  • 4
    Передача любому из узлов используется в запросе DNS для получения IP-адреса, ближайшего Вам - затем, подсистема балансировки нагрузки слушает на том IP-адресе и распределяет запросы отступающим серверам. –  Andy Shellam 16 February 2010 в 10:29
  • 5
    Википедия также, оказывается, использует pdns' s geoip бэкенд для большой части их выравнивания нагрузки.более подробная информация: wikitech.wikimedia.org/view/PowerDNS и здесь: wikitech.wikimedia.org/view/DNS –  faultyserver 16 February 2010 в 19:15

Передача любому из узлов может также использоваться для соединений TCP, предполагая, что соединения являются недолгими, таким образом, маршруты не изменяются в течение времени жизни соединения. Это - хорошее предположение с HTTP-соединениями (особенно, если Соединение: Активный сведен к короткому тайм-ауту или отключен).

Много CDNs (CacheFly, MaxCDN и вероятно многие другие) на самом деле используют передачу любому из узлов для соединений TCP (HTTP) и не просто DNS. При разрешении имени хоста на CacheFly Вы получаете тот же IP-адрес во всем мире, это просто направляется к "самому близкому" кластеру CacheFly. "Самый близкий" вот был бы с точки зрения длины пути BGP и метрик, который обычно является лучшим способом измерить сетевую задержку, чем простое географическое расстояние.

В случае Википедии конкретно: http://www.datacenterknowledge.com/archives/2008/06/24/a-look-inside-wikipedias-infrastructure/

3
ответ дан 28 November 2019 в 19:56

Самый легкий способ проверить, использует ли IP-адрес Передачу любому из узлов, состоит в том, чтобы сделать traceroute от другого местоположения. Можно попробовать следующее: перейдите к traceroute.org, выберите местоположение и попытайтесь сделать traceroute к IP-адресу 8.8.8.8 (Общественность Google DNS та передача любому из узлов использования). Необходимо смочь видеть, что traceroute с сервера в Австралии к 8.8.8.8 остаются в Австралии.

Вместо ping попытайтесь сделать поиск имени хоста: например: http://network-tools.com/default.asp?prog=dnsrec&host=profile.ak.fbcdn.net

Вы будете видеть список IP-адреса позади того имени. Эти IP-адреса будут использованием циклическим способом при проверке с помощью ping-запросов сервера.

3
ответ дан 28 November 2019 в 19:56

Igor, Ваш вопрос является большим, и как столько невинных вопросов, существуют многие, много ответов, все на разных уровнях деталей.

Часть аппаратных средств является веб-сервером. Очевидно, ;-)

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

Часть аппаратных средств является на самом деле одним из нескольких кластеров подсистем балансировки нагрузки, географически рассредоточенных, и Вы были направлены к одно самое близкое к Вам, решение, принятое сервером DNS.

2
ответ дан 28 November 2019 в 19:56

Google выпустил немного на их аппаратной архитектуре собственной разработки в прошлом году, и это делает для хорошего чтения.

1
ответ дан 28 November 2019 в 19:56
  • 1
    Это - интересное чтение, но оно не отвечает на мой конкретный вопрос. Мне специфически любопытно, что является частью аппаратных средств, которые слушают на четырех Google' s общедоступные IP-адреса, и распределяют загрузку среди тысяч серверов? –  Igor Ostrovsky 16 February 2010 в 03:53

Единственный IP-адрес не обязательно означает единственный сервер: http://en.wikipedia.org/wiki/Anycast

1
ответ дан 28 November 2019 в 19:56
  • 1
    Передача любому из узлов является трудной установкой для поддержания, если у Вас действительно есть некоторая центральная синхронизация (как Facebook). Это действительно работает действительно хорошо на, например, серверы DNS, где экземпляры don' t нужно много коммуникации или веб-серверы со статическим содержанием. –   16 February 2010 в 08:54
  • 2
    You' ре прямо в этом единственный IP doesn' t означают единственный сервер, но передают одному из узлов, используется в запросе DNS когда you' ре не беспокоилось, кто отвечает, пока Вы добираетесь один, и следовательно it' s только полезный с протоколом UDP, который использует DNS. С TCP (используемый в HTTP) необходимо быть уверены, что сервер, который отвечает, является тем, который Вы конкретно спросили. –  Andy Shellam 16 February 2010 в 10:31

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

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

1
ответ дан 28 November 2019 в 19:56

Крупные сайты как Google почти наверняка разрабатывают свои собственные аппаратные средства. Большие сайты, вероятно, использовали бы многослойный переключатель для загрузки соединений баланса с несколькими фактическими серверами. http://en.wikipedia.org/wiki/Multilayer_switch

0
ответ дан 28 November 2019 в 19:56

Сайты Mmassive как Facebook или Википедия полагаются на несколько различных технологий для достижения масштабируемости.

Одной из тех технологий является DNS. DNS настроен для загрузки баланса циклическим алгоритмом. Конфигурация DNS достаточно умна для выяснения, куда запрос прибывает из и возвратить адрес сайта, который является самым близким к Вам. Таким образом, если Вы сделаете рыть, то Вы будете видеть несколько записей, но если Вы сделаете ping, то Вы будете всегда возвращать тот же адрес.

На сайте первая часть аппаратных средств, которые Вы поражаете, является обратным прокси или пулом подсистемы балансировки нагрузки. Пулы являются установкой, таким образом, все машины отвечают на тот же IP, но возвращают новый IP в заголовке сессии. Все дальнейшие запросы пройдут тот же узел.

Подсистемы балансировки нагрузки, используемые для больших сайтов, не являются большими дорогими элементами оборудования, они - товарные серверы, выполняющие LVS. http://www.linuxvirtualserver.org/

1
ответ дан 28 November 2019 в 19:56

Теги

Похожие вопросы