архитектура поисковой системы Google - как так много одновременных пользователей выполняют поиск по ней - PullRequest
6 голосов
/ 29 мая 2010

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

Ответы [ 4 ]

6 голосов
/ 29 мая 2010

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

несколько раз вы увидите, как реагируют разные машины.

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

3 голосов
/ 29 мая 2010

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

  • Балансировка нагрузки DNS (рекомендуется)
  • Кластеризация - как предложено, но обратите внимание на следующее
    • кластеризованные базы данных (хранение и извлечение базы данных распределено по многим машинам)
    • кластерные веб-сервисы (аналог DNSLB здесь)
    • Внутренне разработанная кластерная / распределенная система регистрации
  • Высоко оптимизированные поисковые индексы и алгоритмы, обеспечивающие эффективное хранение и быстрый поиск в кластере
  • Кэширование запросов (squid), ответов (squid), баз данных (в памяти, см. Осколки в приведенной выше статье)
3 голосов
/ 29 мая 2010

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

1 голос
/ 29 мая 2010

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

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

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

...