архитектура поисковой системы Google - как столько параллельных пользователей делает поиск на нем

С миллионами пользователей, ищущих столько вещей на Google, Yahoo и так далее. Как сервер может обработать столько параллельных поисков? У меня нет подсказки относительно того, как они сделали его таким образом масштабируемым. Любое понимание их архитектуры было бы одобрено.

7
задан stone 29 May 2010 в 16:40
поделиться

4 ответа

Один элемент, балансировка нагрузки DNS.

Есть много ресурсов по архитектуре google, на этом сайте есть хороший список:

7
ответ дан 6 December 2019 в 14:01
поделиться

Балансировка нагрузки DNS верна, но на самом деле это не полный ответ на вопрос. Google использует множество методов, включая, помимо прочего, следующие:

  • Балансировка нагрузки DNS (предлагается)
  • Кластеризация - как предлагается, но обратите внимание на следующее
    • кластерные базы данных (хранение и поиск базы данных распределены по множеству машин)
    • кластерные веб-службы (аналог DNSLB здесь)
    • Кластерная / распределенная файловая система собственной разработки
  • Высокооптимизированные индексы и алгоритмы поиска, повышение эффективности хранения и быстрого поиска в кластере
  • Кэширование запросов (squid), ответов (squid), баз данных (в памяти, см. шарды в приведенной выше статье)
4
ответ дан 6 December 2019 в 14:01
поделиться

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

3
ответ дан 6 December 2019 в 14:01
поделиться

Основной концепцией большинства высокомасштабируемых приложений является кластеризация .

Некоторые ресурсы, касающиеся кластерной архитектуры различных поисковых систем.

Вы также можете прочитать интересные исследовательские статьи на сайтах Google Research и Yahoo Research .

1
ответ дан 6 December 2019 в 14:01
поделиться